是否有在测试场景开始/结束时触发的函数? setUp 和 tearDown 函数在每次测试之前/之后触发。
我通常想要这个:
class TestSequenceFunctions(unittest.TestCase):
def setUpScenario(self):
start() #launched at the beginning, once
def test_choice(self):
element = random.choice(self.seq)
self.assertTrue(element in self.seq)
def test_sample(self):
with self.assertRaises(ValueError):
random.sample(self.seq, 20)
for element in random.sample(self.seq, 5):
self.assertTrue(element in self.seq)
def tearDownScenario(self):
end() #launched at the end, once
目前,这些setUp和tearDown都是单元测试,分布在我所有的场景中(包含很多测试),一个是第一个测试,一个是最后一个测试。
最佳答案
从 2.7 开始(根据 the documentation )您将获得 setUpClass
和 tearDownClass
,它们分别在给定类中的测试运行之前和之后执行。或者,如果您在一个文件中有一组模块,则可以使用 setUpModule
和 tearDownModule
( documentation )。
否则,您最好的选择可能是创建您自己的派生 TestSuite并覆盖 run()
。所有其他调用都将由父级处理,而 run 将围绕对父级 run
方法的调用调用您的设置和拆卸代码。
关于python - 几个测试的单元测试设置/拆卸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45968514/