怎么会提示给类的实例 __init__
传递了 2 个参数?why 啊?
import unittest
class Test(unittest.TestCase):
def __init__(self):
self.a = 1
def test1(self):
self.assertEqual(self.a, 1)
if __name__ == '__main__':
unittest.main()
output:
....省略没用的
TypeError: __init__() takes 1 positional argument but 2 were given
[Finished in 0.2s with exit code 1]
1
ericls 2018-05-11 12:46:16 +08:00 via iPhone
这个你得看 长辈的 __init__ 怎么写的
另外 你这个需求 用 setUp? |
3
changrui0608 2018-05-11 12:55:46 +08:00 via Android
用 setUp 不要用__init__
|
4
wsds OP @changrui0608 不能用__init__还是咋地啊?
|
5
changrui0608 2018-05-11 13:06:26 +08:00 via Android
@wsds 这种框架测试类的生命周期管理是框架自身来做的,就按文档说的来吧
|
7
nullcc 2018-05-11 13:27:35 +08:00
用 setUp/tearDown,对你这个例子而言,如果非要写__init__,可以这样:
def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.a = 1 |
8
mec 2018-05-11 13:41:16 +08:00
python 继承要考虑父类__init__的实现,必要时需要显式调用
|