我这辈子第一次尝试使用setUpClass()
方法,并写道:
class TestDownload(unittest.TestCase):
def setUpClass(cls):
config.fs = True
得到:
Ran 0 tests in 0.004s
FAILED (errors=1)
Failure
Traceback (most recent call last):
File "/opt/anaconda3/lib/python3.5/unittest/suite.py", line 163, in _handleClassSetUp
setUpClass()
TypeError: setUpClass() missing 1 required positional argument: 'cls'
它意味着什么,如何满足它?
您需要在
def setUpClass(cls)
之前放置一个@classmethod
装饰器。^{} docs are here 和^{} docs here 。
在suite.py line 163中,
setUpClass
作为一个简单的函数(而不是一个绑定方法)被调用。没有参数以静默方式传递给setUpClass
,因此出现错误消息。通过添加
@classmethod
decorator,您可以说当调用TestDownload.setupClass()
时,第一个参数是类TestDownload
本身。在安装和拆卸之前添加@classmethod可以解决这个问题。@classmethod已绑定到类。
相关问题 更多 >
编程相关推荐