是否存在在测试场景开始/结束时启动的函数?每次测试之前/之后都会触发函数setUp和tearDown
我通常希望这样:
类TestSequenceFunctions(unittest.TestCase):
def设置方案(自我):
start()#在开始时启动,一次
def测试_选项(自身):
元素=随机选择(self.seq)
self.assertTrue(self.seq中的元素)
def测试样本(自身):
使用self.assertRaises(ValueError):
随机样本(seq,20)
对于随机样本中的元素(自序号5):
self.assertTrue(self.seq中的元素)
def拆卸场景(自身):
end()#在末尾启动,一次
目前,这些设置和拆卸都是单元测试,在我的所有场景中都有分布(包含许多测试),一个是第一个测试,另一个是最后一个测试
从2.7开始(根据文档),您将获得setUpClass和tearDownClass,它们分别在给定类中的测试运行之前和之后执行。或者,如果在一个文件中有一组,则可以使用setUpModule和tearDownModule(文档)
否则,您最好的选择可能是创建您自己的派生测试套件并覆盖run()。所有其他调用都将由父级处理,run将围绕调用父级的run方法调用您的设置和拆卸代码