python 测试实现方法
程序员文章站
2022-10-06 12:18:38
1)doctest 使用doctest是一种类似于命令行尝试的方式,用法很简单,如下 复制代码 代码如下:def f(n): """ >>>...
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])
使用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])
上一篇: SEO 网页中需要重点强调的内容
下一篇: django_数据库操作—增、删、改、查