1.1 Fixtures
夹心饼干外层的两片饼干,即:setUp和tearDown,中间是测试用例。除此之外,unittest还提供了更大范围的fixtures,例如:对于测试类和模块的fixtures。
# 0518001:fixtures import unittest def setUpModule(): print("test module start>>>>>>>>>>>") def tearDownModule(): print("test module end>>>>>>>>>>>>>") class Test(unittest.TestCase): @classmethod def setUpClass(cls): print("test class start ========>") @classmethod def tearDownClass(cls): print("test class end ========>") def setUp(self): print("test case start -->") def tearDown(self): print("test case end-->") def test_case(self): print("test case1") def test_case2(self): print("test case2") if __name__=='__main__': unittest.main()
执行结果
>>> RESTART: C:/Users/tians/AppData/Local/Programs/Python/Python36/example-JLL/test_0518001:fixtures.py test module start>>>>>>>>>>> test class start ========> test case start --> test case1 test case end--> .test case start --> test case2 test case end--> .test class end ========> test module end>>>>>>>>>>>>> ---------------------------------------------------------------------- Ran 2 tests in 0.217s OK >>>
setUpModule/tearDownModule :在整个模块的开始与结束时被执行。
setUpClass/tearDownClass: 在测试类的开始与结束时被执行。
setUp/tearDown:在测试用例的开始与结束时被执行。
注:setUpClass/tearDownClass首先需要使用@classmethod进行装饰,其次方法的参数为cls。