以下举一个最简单的unitest实例,包含备注,自己拉取代码运行一次就知道原理了
import unittest
import os
class TestSample(unittest.TestCase):
@classmethod
def setUpClass(cls) -> None:
print('整个测试类只执行一次')
def setUp(self) -> None:
print("每个测试开始前执行一次")
def test_equal(self):
self.assertEqual(1,1)
def test_no_equal(self):
self.assertNotEqual(1,2)
def tearDown(self) -> None:
print('每个测试结束后执行一次')
@classmethod
def tearDownClass(cls) -> None:
print('整个个测试执行一次')
if __name__ == '__main__':
# unittest.main()
#添加用例集
suite = unittest.defaultTestLoader.discover(os.path.join(os.path.dirname(__file__)), pattern='*.py',top_level_dir=os.path.dirname(__file__))
#执行用例,默认函数名开头为test的用例
runner = unittest.TextTestRunner(verbosity=2)
runner.run()
上面有前置函数,后置函数,通称为测试夹具;
测试结果报告默认在控制台输出,如果想要有html的测试报告,可以用HTMLTestRunner;以下附上对应的git代码示例
Mr_wilson_liu / Python unitest实例 · GitCode
效果展示: