我在我的项目和@ parametrized.expand装饰器的类级别上使用了tail_parametrized包。但是我不知道如何为我的setUp类使用参数。代码如下所示:

from nose_parameterized import parameterized

@parameterized.expand(['par1', 'par2'])
class MyTestClass(TestCase):

    def setUp(self, par):
        super(TestCase, self).setUp()

        if par == "par1":
            do_something()
        elif par == "par2":
            do_something_else()

        do_more(par)


这种方法导致TypeError: setUp() takes exactly 2 arguments (1 given)

正确的方法是什么?

最佳答案

使用parameterized_class

from parameterized import parameterized_class

@parameterized_class(('par', ), ['par1', 'par2'])
class MyTestClass(TestCase):
    def setUp(self):
        super(TestCase, self).setUp()

        if self.par == "par1":
            do_something()
        elif self.par == "par2":
            do_something_else()

        do_more(self.par)

关于python - 如何使用nose_parameterized参数化setUp方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57953364/

10-11 19:37
查看更多