一些用戶會發(fā)現(xiàn)他們有現(xiàn)有的測試代碼,他們希望從unittest運行,而無需將每個舊的測試函數(shù)轉換為TestCase子類。
因此,unittest 提供了一個 FunctionTestCase 類。TestCase 的這個子類可用于包裝現(xiàn)有的測試函數(shù)。還可以提供設置和拆卸功能。
給定以下測試函數(shù):
def testSomething(): something = makeSomething() assert something.name is not None # ...
可以創(chuàng)建一個等效的測試用例實例,如下所示,具有可選的set-up和tear-down方法:
testcase = unittest.FunctionTestCase(testSomething, setUp=makeSomethingDB, tearDown=deleteSomethingDB)
注意
盡管FunctionTestCase
可用于將現(xiàn)有測試基礎快速轉換為基于unittest
的系統(tǒng),但不建議使用此方法。花時間設置適當?shù)?nbsp;TestCase
子類將使將來的測試重構變得無限容易。
在某些情況下,現(xiàn)有測試可能是使用 doctest 模塊編寫的。如果是這樣,doctest 提供了一個 DocTestSuite 類,它可以從現(xiàn)有的基于 doctest 的測試中自動構建 unittest.TestSuite 實例
更多建議: