0
我需要測試兩個幾乎完全相同的功能,並且沒有看到太多的點複製粘貼我爲function1
編寫的測試。我可以以某種方式將函數名稱傳遞給派生自unittest.TestCase
的類,並設置需要在setUp
中測試的函數?如何將要測試的函數名稱傳遞給unit test.TestCase?
我需要測試兩個幾乎完全相同的功能,並且沒有看到太多的點複製粘貼我爲function1
編寫的測試。我可以以某種方式將函數名稱傳遞給派生自unittest.TestCase
的類,並設置需要在setUp
中測試的函數?如何將要測試的函數名稱傳遞給unit test.TestCase?
這裏沒有技巧。函數是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)