更改套件时,Unittest TestLoader discover()不会重新加载测试套件

时间:2016-06-08 02:56:31

标签: python unit-testing

这是在存储库tests/中发现测试套件并运行测试用例的程序。

if __name__ == '__main__':
    while True:
        c = raw_input("input: ")
        if c == "T":
            suite = unittest.TestLoader().discover("tests")
            result_file = open("results", "w")
            unittest.TextTestRunner(result_file).run(suite)
            result_file.close()
            result_file = open("results", "r")
            output = result_file.read()
            print output

这是存储库tests/

下的测试套件
class TestFileFail(unittest.TestCase):
    def test_fail(self):
        self.fail("Fail")
        # self.assertTrue(True)

我发现在编辑测试用例时,测试套件没有重新加载。只有当我重新加载程序时才能发现变化。例如,当我运行程序时,我得到这样的结果:

Ran 1 test in 0.000s

FAILED (failures=1)

如果我将测试用例更改为:

# self.fail("Fail")
self.assertTrue(True)

结果保持不变,只有当我重新加载程序时才能得到正确的结果:

Ran 1 tests in 0.000s

OK

但为什么会这样?

0 个答案:

没有答案