您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python unittest-setUpClass()给我带来麻烦-为什么我不能这样继承?

Python unittest-setUpClass()给我带来麻烦-为什么我不能这样继承?

setUpClass 必须一个方法。从文档中

在运行单个类中的测试之前调用的类方法setUpClass以类作为唯一参数调用,并且必须修饰为classmethod()

@classmethod
def setUpClass(cls):
    ...

有关更多详细信息,请参见类和模块装置

您的版本缺少@classmethod装饰器

class MyUnitTest(unittest.TestCase):
    @classmethod
    def setUpClass(cls):
        do_something_expensive_for_all_sets_of_tests()

class MyFirstSetOfTests(MyUnitTest):
    @classmethod
    def setUpClass(cls):
        super(MyFirstSetOfTests, cls).setUpClass()
        do_something_expensive_for_just_these_first_tests()

引发错误是因为MyFirstSetOfTests.setUpClass() 上而不是在实例上调用了该错误,但是您没有将方法标记为aclassmethod,因此未在自动self参数中传递该错误。在上面的更新代码中,我cls改为使用该名称来反映名称引用了类对象。

python 2022/1/1 18:27:29 有189人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶