__init__ for unittest.TestCase

发布于 2021-01-29 18:17:33

我想在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

关注者
0
被浏览
53
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    尝试这个:

    class TestingClass(unittest.TestCase):
    
        def __init__(self, *args, **kwargs):
            super(TestingClass, self).__init__(*args, **kwargs)
            self.gen_stubs()
    

    您正在覆盖TestCase__init__,因此您可能希望让基类为您处理参数。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看