Pythonunit testing中setUpClass和setUp之间的区别
pythonunit testing框架中的setUpClass与setUp之间的区别,为什么不在setUp中设置setUp而不是setUpClass?
我想了解setUp和setUpClass函数以及tearDown和tearDownClass所做的设置的哪一部分。
当你在class上有多个testing方法时,差异就会显现出来。 setUpClass
和tearDownClass
为整个类运行一次; setUp
和tearDown
在每个testing方法之前和之后运行。
例如:
class Example(unittest.TestCase): @classmethod def setUpClass(cls): print("setUpClass") def setUp(self): print("setUp") def test1(self): print("test1") def test2(self): print("test2") def tearDown(self): print("tearDown") @classmethod def tearDownClass(cls): print("tearDownClass")
当你运行这个testing时,它会打印:
setUpClass setUp test1 tearDown .setUp test2 tearDown .tearDownClass
(当testing通过时,dots( .
)是unittest
的默认输出。)注意setUp
和tearDown
出现在test1
和 test2
之前和之后,而setUpClass
和tearDownClass
只出现一次,在整个testing用例的开始和结尾。