python unittest的执行顺序

发布于 2021-01-29 14:57:33

我需要为测试设置执行顺序,因为我需要先验证一些数据。可以下订单吗?

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()

谢谢

关注者
0
被浏览
76
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    最好不要这样做。

    测试应该是独立的。

    要做您最想做的就是将代码放入测试调用的函数中。

    像那样:

    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):
            ...
    

    当我拆分班级时,我经常编写更多更好的测试,因为测试被拆分,并且在应该测试的所有情况下我都能看到更好的结果。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看