unittest 重用旧的测试代码
2022-08-02 11:05 更新
一些用户会发现他们有现有的测试代码,他们希望从unittest运行,而无需将每个旧的测试函数转换为TestCase子类。
因此,unittest 提供了一个 FunctionTestCase 类。TestCase 的这个子类可用于包装现有的测试函数。还可以提供设置和拆卸功能。
给定以下测试函数:
def testSomething(): something = makeSomething() assert something.name is not None # ...
可以创建一个等效的测试用例实例,如下所示,具有可选的set-up和tear-down方法:
testcase = unittest.FunctionTestCase(testSomething, setUp=makeSomethingDB, tearDown=deleteSomethingDB)
注意
尽管FunctionTestCase
可用于将现有测试基础快速转换为基于unittest
的系统,但不建议使用此方法。花时间设置适当的TestCase
子类将使将来的测试重构变得无限容易。
在某些情况下,现有测试可能是使用 doctest 模块编写的。如果是这样,doctest 提供了一个 DocTestSuite 类,它可以从现有的基于 doctest 的测试中自动构建 unittest.TestSuite 实例
以上内容是否对您有帮助:
更多建议: