一 相关概念:
*test fixture:表示执行测试的准备工作和清理工作,例如:创建临时和代理数据库、目录等。对应的类:FunctionTestCase。
*test case:最小的测试单元,测试给定输入下的指定相应,unittest模块提供了一个基类,TestCase,用来创建新的test cases。
*test suite:test cases或test suites的集合,用来集成需要一起执行的测试工作。对应类:TestSuite
*test runner:控制测试的执行,并提供测试结果。
二 简单使用:
import unittest
class TestData(unittest.TestCase):
def setUp(self):
pass
def tearDown(self):
pass
def test_get(self):
pass
if __name__ == '__main__'
unittest.main()
*执行方式:(1)python xxx.py;(2)python -m unittest xxx yyy zzz
*测试类需继承unittest.TestCase;覆盖setUp和tearDown方法,虽然不是必须,但最好提供.
*所有测试方法需要以[Tt]est开头,类的名字没有这个要求。
*可以用如下代码替代unittest.main,下面的控制更细致:
suite = unittest.TestLoader().loadTestsFromTestCase(TestData)
unittest.TextTestRunner(verbosity=2).run(suite)
(2)python -m unittest的用法:python -m unittest -h