我在我的项目中使用nose_parametrized包,并在类级别@parametrized.expand装饰器。但是我不知道如何为我的 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)