我已经覆盖了 unittest.TestCase 类以包含一些像这样的附加功能
class TestCase(unittest.TestCase):
def foo(self):
return 4711
我将setUpClass
在这样的测试用例中的调用中使用它
class MyTest(TestCase):
@classmethod
def setUpClass(cls):
value = cls.foo() #1
value = MyTest.foo() #2
value = MyTest().foo() #3
value = TestCase().foo() #4
我无法访问foo()
我在修改后的 unitest 类中实现的功能。
我可以看到尝试 #2 将失败,因为我尝试访问未实例化的类的方法,而 foo 不是类方法。我可以看到 try #1 也不起作用,因为我试图从 classmethod 级别访问非类方法(或者如何正确描述)。但是为什么尝试#3/#4 给我一个no such test method
错误?
foo()
如何在不使其成为类方法的情况下访问该方法(因为我无法更改它,因为它是外部的)?