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 实例


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号