【问题标题】:How test name impact variable persistence between tests in Unittest?测试名称如何影响 Unittest 中测试之间的变量持久性?
【发布时间】:2016-02-01 07:13:25
【问题描述】:

如何在 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”,代码将失败。 任何人都可以告诉这怎么会发生? 谢谢。

【问题讨论】:

    标签: python unit-testing


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      正如您已经注意到的,执行顺序在这里很重要。但是,实际上,更深层次的问题是,您的测试并不是相互独立的。理想情况下,每个测试都表现得像一个完整的程序,从定义的干净启动状态开始,并在执行后进行清理。

      【讨论】:

        猜你喜欢
        • 2014-02-22
        • 1970-01-01
        • 2018-12-19
        • 2012-10-22
        • 2015-11-14
        • 2020-04-16
        • 1970-01-01
        • 2023-03-13
        • 1970-01-01
        相关资源
        最近更新 更多