我想添加几件事unittest.TestCase
班级在被初始化后会做,但我不知道该怎么做。
现在我要这样做:
#filename test.py
class TestingClass(unittest.TestCase):
def __init__(self):
self.gen_stubs()
def gen_stubs(self):
# Create a couple of tempfiles/dirs etc etc.
self.tempdir = tempfile.mkdtemp()
# more stuff here
我希望在整个测试中只生成所有存根一次。我不能使用setUpClass()
因为我正在使用Python 2.4(我也无法在Python 2.7上工作)。
我在这里做错了什么?
我得到这个错误:
`TypeError: __init__() takes 1 argument (2 given)`
…以及当我将所有存根代码移动到__init__
当我用命令运行它python -m unittest -v test
。
答案
尝试这个:
class TestingClass(unittest.TestCase):
def __init__(self, *args, **kwargs):
super(TestingClass, self).__init__(*args, **kwargs)
self.gen_stubs()
你正在覆盖TestCase
’__init__
,因此您可能需要让基类为您处理参数。