【发布时间】:2012-01-13 10:46:07
【问题描述】:
是否有在测试场景开始/结束时触发的函数? 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是单元测试,分布在我所有的场景中(包含很多测试),一个是第一个测试,另一个是最后一个测试。
【问题讨论】:
-
哪个版本?在 Python 2.7 中,unittest 模块已扩展为包含 module_setup 和 module_teardown。
-
2.7 还引入了 setUpClass() 和 tearDownClass() 类方法,这可以让您在同一个文件中拥有多个类,并具有自己的每个套件设置和拆卸。
标签: python unit-testing