Python 为啥继承 unittest 后,子类的__init__方法与父类参数不一致就会报错

狂天 · 2022年03月23日 · 最后由 了不起的QA 回复于 2022年03月24日 · 3311 次阅读

报错的代码如下:

我一个子类继承了 unittest.Testcase 之后,想在init里面初始化一些数据,然后一执行直接报错。
子父继承父类之后,方法同名参数不同时,不是可以覆盖父类方法吗。
我子类的 init 就是要覆盖父类呀,为啥会出现提示与父类 init 参数不一致的报错?

我写代码实验了一下:

也是可以正常出运行结果的,为啥父类是 unittest.Testcase 时就不行呀?

共收到 3 条回复 时间 点赞

unittest 的 Testcase 类不应该被继承。
测试用例的初始化工作应该交给 setUp() 方法。

子类继承父类,重写__init__方法后,要super一下,可以查一下继承相关的文章。。然后对于测试用例来说,初始化工作确实不是__init__干的话

unittest 里想做用例初始化等操作可以了解下
setUp() 和 setUpClass()

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册