未经测试:
class TestPreReqs(unittest.TestCase):
...
def create_test (pair):
def do_test_expected(self):
self.assertEqual(under_test(pair[0]), pair[1])
return do_test_expected
for k, pair in enumerate ([(23, 55), (4, 32)]):
test_method = create_test (pair)
test_method.__name__ = 'test_expected_%d' % k
setattr (TestPreReqs, test_method.__name__, test_method)
我猜如果经常使用它,可以使用实用程序功能和/或装饰器来美化它。请注意,TestPreReqs
在此示例中,对不是对象的属性(因此setUp
消失了)。相反,它们在某种意义上是“硬连线”的TestPreReqs
。