我目前有一個(gè)Pythonunittest測試用例,如下所示:from unittest import TestCase as UTestCaseimport inspect class BaseParentTaskTest(UTestCase): def test_case_one(self): class A(BaseParentTask): def run(self, a, b): pass instance = A() print inspect.getargspec(instance.run).args instance._validate() if instance.valid: self.fail("Failed to invalidate based on wrong argument count.") def test_case_two(self): class A(BaseParentTask): def run(self, a, b, c, d): pass instance = A() print inspect.getargspec(instance.run).args if instance.valid: self.fail("Failed to invalidate based on wrong argument kw names.")從我的測試看來,運(yùn)行之后test_case_one,A該類將保留在內(nèi)存中,并且A在test_case_two運(yùn)行時(shí)不會(huì)被in覆蓋。這會(huì)導(dǎo)致test_case_two失敗。這可以從日志中看到。在中test_case_one,預(yù)期輸出是(self, a, b),它是:(self, a, b)在中test_case_two,預(yù)期輸出為(self, a, b, c, d):(self, a, b)但是,顯然不是。為什么A實(shí)例方法退出后不立即刪除該類?如何解決此問題以使我的測試通過?
添加回答
舉報(bào)
0/150
提交
取消