我在我的项目中使用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() 恰好需要 2 个参数(给定 1 个)
正确的做法是什么?
最佳答案
使用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/