如何将要测试的函数名称传递给单元test.TestCase?

时间:2013-05-30 09:35:47

标签: python unit-testing

我需要测试两个几乎相同的函数,并且没有看到复制粘贴我为function1编写的测试。我可以以某种方式将函数名称传递给派生自unittest.TestCase的类,并设置需要在setUp中测试的函数吗?

1 个答案:

答案 0 :(得分:1)

这没有诀窍。函数是Python中的第一类对象,可以像任何其他参数一样传递。所以这可行,假设被测函数是'func_one'和'func_two':

class MyTestCase(unittest.TestCase):

    def generic_test(self, func):
        result = func()
        ... assertions about result....

    def test_func_one(self):
        self.generic_test(func_one)

    def test_func_two(self):
        self.generic_test(func_two)