我在Python子类unittest.TestCase
中编写测试脚本。从test_
开始,有多种测试方法。
我想知道的是根据输入参数调用不同的测试方法,例如trial test.py -option
。我想知道在单元测试框架中是否有办法做到这一点。非常感谢。
答案 0 :(得分:2)
是的,你可以! Straight from the unittest documentation on organizing your test code
假设你有一个看起来像这个人的TestCase:
import unittest
class WidgetTestCase(unittest.TestCase):
def setUp(self):
self.widget = Widget('The widget')
def tearDown(self):
self.widget.dispose()
self.widget = None
def test_default_size(self):
self.assertEqual(self.widget.size(), (50,50),
'incorrect default size')
def test_resize(self):
self.widget.resize(100,150)
self.assertEqual(self.widget.size(), (100,150),
'wrong size after resize')
现在,您可以在TestSuite设置/运行代码中执行以下操作:
def suite():
suite = unittest.TestSuite()
suite.addTest(WidgetTestCase('test_default_size'))
suite.addTest(WidgetTestCase('test_resize'))
return suite
显然,您可以使用argparse设置自己的选项并根据需要自定义结构。查看Organizing Your Test Code部分的文档。这个例子只是最明确的一个,还有很多其他方法来测试这只猫。