Dim*_*ims 13 python unit-testing python-3.x
我setUpClass()在生活中第一次尝试使用方法并写道:
class TestDownload(unittest.TestCase):
def setUpClass(cls):
config.fs = True
Run Code Online (Sandbox Code Playgroud)
得到了:
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'
Run Code Online (Sandbox Code Playgroud)
它意味着什么以及如何满足它?
Jac*_*din 20
你需要先@classmethod装饰一个装饰器def setUpClass(cls).
class TestDownload(unittest.TestCase):
@classmethod
def setUpClass(cls):
config.fs = True
Run Code Online (Sandbox Code Playgroud)
setupClass这里的文档和classmethod文档都在这里.
什么情况是,在suite.py线163在setUpClass被调用的类(不是实例),作为一个简单的函数(而不是一个绑定方法).静默地传递没有参数setUpClass,因此错误消息.
通过添加@classmethod装饰器,您说当TestDownload.setupClass()调用时,第一个参数是类TestDownload本身.