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

2024-09-28 22:02:45 发布

您现在位置:Python中文网/ 问答频道 /正文

如何持久化在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\u a”更改为“test\u”,代码将失败。 谁都知道这是怎么发生的? 谢谢。你知道吗


Tags: 对象testselffoomaindefunittestbetween
2条回答

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

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

相关问题 更多 >