文档测试
doctest:一个简单的模块,为检查文档而设计,但也适合用来编写单元测试。
def func(a, b):
"""
doc test
:param a:
:param b:
:return:
>>> func(1, 2)
3
>>> func('a', 'c')
'ac'
>>> func('a', {})
Traceback (most recent call last):
TypeError: must be str, not dict
"""
return a + b
if __name__ == "__main__":
import doctest
doctest.testmod()
如果把期望’ac’改成’ab’则会打印如下信息:

会告诉我们实际是’ac’,用例失败。
关于文档测试的一些拓展内容,推荐大家查看这里:
Python3使用doctest对项目中的单个函数进行测试
单元测试
unittest:一个通用的测试框架 。
注意所有测试方法都需要以test开头
引入unittest模块,直接使用unittest.main(),则按照用例的首字母排序进行用例的执行。
如果需要修改顺序,则使用:suite = unittest.TestSuite()和addTest控制顺序。
import unittest
class Test1(unittest.TestCase):
@classmethod
def setUpClass(self):
print("测试用例运行前:")
@classmethod
def tearDownClass(self):
print("测试用例运行后:")
def setUp(self):
print("用例执行前:")
def tearDown(self):
print("用例运行后:")
def test_one(self):
print('执行用例一')
self.assertTrue('FOO'.isupper())
def test_two(self):
print('执行用例二')
self.assertTrue('foo'.islower())
if __name__ == '__main__':
# unittest.main()
suite = unittest.TestSuite()
suite.addTest(Test1("test_two"))
suite.addTest(Test1("test_one"))
runner = unittest.TextTestRunner()
runner.run(suite)
运行结果:

具体的内容可以参考这篇文章:
&spm=1001.2101.3001.5002&articleId=106733106&d=1&t=3&u=ff9898fc857043959f475f4170603f21)
2283

被折叠的 条评论
为什么被折叠?



