您好,欢迎访问一九零五行业门户网

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])
其它类似信息

推荐信息