python unittest的执行顺序

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

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

...

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

以上是 python unittest的执行顺序 的全部内容, 来源链接: utcz.com/qa/410663.html

回到顶部