如何使用python编写测试脚本1)doctest
使用doctest是一种类似于命令行尝试的方式,用法很简单,如下
复制代码代码如下:
def f(n):
"""
f(1)
1
f(2)
2
"""
print(n)
if __name__ == '__main__':
import doctest
doctest.testmod()
应该来说是足够简单了,另外还有一种方式doctest.testfile(filename),就是把命令行的方式放在文件里进行测试 。
2)unittest
unittest历史悠久,最早可以追溯到上世纪七八十年代了 , C++,Java里也都有类似的实现,Python里的实现很简单 。
unittest在python里主要的实现方式是TestCase,TestSuite 。用法还是例子起步 。
复制代码代码如下:
from widget import Widget
import unittest
# 执行测试的类
class WidgetTestCase(unittest.TestCase):
def setUp(self):
self.widget = Widget()
def tearDown(self):
self.widget.dispose()
self.widget = None
def testSize(self):
self.assertEqual(self.widget.getSize(), (40, 40))
def testResize(self):
self.widget.resize(100, 100)
self.assertEqual(self.widget.getSize(), (100, 100))
# 测试
if __name__ == "__main__":
# 构造测试集
suite = unittest.TestSuite()
suite.addTest(WidgetTestCase("testSize"))
suite.addTest(WidgetTestCase("testResize"))
# 执行测试
runner = unittest.TextTestRunner()
runner.run(suite)
简单的说 , 1构造TestCase(测试用例),其中的setup和teardown负责预处理和善后工作 。2构造测试集,添加用例3执行测试需要说明的是测试方法 , 在Python中有N多测试函数,主要的有:
TestCase.assert_(expr[, msg])
TestCase.failUnless(expr[, msg])
TestCase.assertTrue(expr[, msg])
TestCase.assertEqual(first, second[, msg])
TestCase.failUnlessEqual(first, second[, msg])
TestCase.assertNotEqual(first, second[, msg])
TestCase.failIfEqual(first, second[, msg])
TestCase.assertAlmostEqual(first, second[, places[, msg]])
TestCase.failUnlessAlmostEqual(first, second[, places[, msg]])
TestCase.assertNotAlmostEqual(first, second[, places[, msg]])
TestCase.failIfAlmostEqual(first, second[, places[, msg]])
TestCase.assertRaises(exception, callable, ...)
TestCase.failUnlessRaises(exception, callable, ...)
TestCase.failIf(expr[, msg])
TestCase.assertFalse(expr[, msg])
TestCase.fail([msg])
在做测试自动化时 , python数据类型转换函数有几种?在python中python动态测试函数的数据类型转换函数共有五类:
1.float(x) 将x转换为一个浮点数,x如果是一个字符串, 必须是数字类型的字符串
2.int(x)将x转换为一个整数, x如果是一个字符串,必须是数字类型的字符串
3.str(x)把x转换为字符串类型, 任意数据类型都可以转换为字符串
4.list(x)把序列数据x转为列表(注意:字典没有顺序python动态测试函数 , 不是序列数据)
5.tuple(x) 把序列数据x转为元组(字典没有顺序python动态测试函数,不是序列数据)
python动态测试函数你可以多去黑马程序员视频库看看 , 里面这样的知识点特别多
python冒泡排序的测试函数,给个例子,谢谢def bubbleSort(myList):
# 首先获取listpython动态测试函数的总长度,为之后python动态测试函数的循环比较作准备
length = len(myList)
# 一共进行几轮列表比较,一共是(length-1)轮
for i in range(0, length - 1):
# 每一轮python动态测试函数的比较,注意range的变化,这里需要进行length-1-长的比较,注意-i的意义(可以减少比较已经排好序的元素)
for j in range(0, length - 1 - i):
# 交换
if myList[j]myList[j + 1]:
推荐阅读
- 拯救者电脑怎么打开触控板,拯救者电脑怎么打开触控板功能
- phpcms调用数据库表,phpcms数据库配置文件
- .net开发工具,netcore开发工具
- js如何调用c里的函数调用,javascript调用c语言
- c语言中的复制粘贴函数 c语言复制文件的函数
- 刘文彩公馆有拍摄什么剧么,刘文彩最后怎么样了
- 帮忙做毕业设计的网站推荐有哪些,帮忙做毕业设计的平台
- 美国ip段服务器,美国ip端口
- 尚学堂java代码 尚学堂百战程序员java