【发布时间】:2016-06-16 21:14:45
【问题描述】:
我有一个 python unitest。在 setupClass 方法中,我做了一些耗时的任务......测试本身运行得非常快。现在我想用多组参数运行同一个测试用例。我怎样才能做到这一点?
我尝试过使用nose_parameterized 等不同的方法,但我无法使用@parameterized.expand()
import unittest
from nose_parameterized import parameterized
parameters = [('test1', 2 ),('test2', 3)]
class TestParameterizedTestcase(unittest.TestCase):
@classmethod
def setUpClass(cls, param=1):
"""
Do some expensive stuff
"""
cls.param = param
print 'Param in setup class %s'
def test_is_one(self):
"""
A fast test
"""
self.assertEqual(1,self.param)
def test_is_two(self):
"""
Another fast test
"""
self.assertEqual(2, self.param)
def test_is_three(self):
"""
Another fast test
"""
self.assertEqual(3, self.param)
【问题讨论】:
-
您可以使用 unittest.subTest 上下文管理器 - 请参阅此线程 stackoverflow.com/questions/43912153/…
标签: python python-unittest parameterized-unit-test nose-parameterized