我需要为测试设置执行顺序,因为我需要先验证一些数据。可以下订单吗?
class OneTestCase(unittest.TestCase): def setUp(self): # something to do def test_login (self): # first test pass def test_other (self): # any order after test_login def test_othermore (self): # any order after test_login if __name__ == '__main__': unittest.main()
谢谢
最好不要这样做。
测试应该是独立的。
要做您最想做的就是将代码放入测试调用的函数中。
像那样:
def assert_can_log_in(self): ... def test_1(self): self.assert_can_log_in() ... def test_2(self): self.assert_can_log_in() ...
甚至拆分测试类,并将断言放入setUp函数中。
class LoggedInTests(unittest.TestCase): def setUp(self): # test for login or not - your decision def test_1(self): ...
当我拆分班级时,我经常编写更多更好的测试,因为测试被拆分,并且在应该测试的所有情况下我都能看到更好的结果。