测试名称如何影响Unittest测试之间的变量持久性?

时间:2016-02-01 07:13:25

标签: python unit-testing

如何在unitttest中持久保存从TestCase继承的同一对象中所做的更改? 我已经提到了Persist variable changes between tests in unittest?。 以下代码运作良好。

from unittest import TestCase, main as unittest_main

    class TestSimpleFoo(TestCase):

        def setUp(self):
            pass

        def test_a(self):
            TestSimpleFoo.foo = 'can'

        def test_f(self):
            self.assertEqual(TestSimpleFoo.foo, 'can')

    if __name__ == '__main__':
        unittest_main()

但是,如果我更改测试名称" test_a"到" test_u",代码将失败。 谁能说出这怎么可能发生? 感谢。

2 个答案:

答案 0 :(得分:0)

解决。我忽略了案件执行顺序

答案 1 :(得分:0)

正如您已经注意到的那样,执行顺序在这里很重要。但实际上,更深层次的问题是,您的测试并不是彼此独立的。理想情况下,每个测试的行为类似于它自己的完整程序,从定义的干净启动状态开始,并在执行后清理。