我想遍历项目列表,并在每个项目上运行断言。一个例子可能是检查列表中的每个数字是否是奇数。使用参数实例化Python unittest.TestCase
TestCase
:
class TestOdd(unittest.TestCase):
def runTest(self):
"""Assert that the item is odd"""
self.assertTrue(NUMBER %2==1, "Number should be odd")
测试suite
:
if __name__ == '__main__':
suite = unittest.TestSuite()
suite.addTest(TestOdd())
# I would like to have:
# suite.addTest(TestOdd(1))
# suite.addTest(TestOdd(2))
# suite.addTest(TestOdd(3))
# ...
unittest.main()
我如何实例化一个对象TestOdd
用一个参数 - 例如,要测试多少?
更新:根据2011年的博客文章(发布为答案),没有内置的参数化测试机制。我会很乐意接受任何更清洁的解决方案。
参见://codereview.stackexchange:(HTTP [从类访问argparse参数。 com/q/88655/15346) – kenorb