美文网首页
5.在unittest中复用旧的测试代码

5.在unittest中复用旧的测试代码

作者: MirrorAi | 来源:发表于2018-10-30 11:33 被阅读0次

    一些用户可能会发现他们有想要使用unittest运行的测试代码,但是旧的测试函数都没有使用TestCase类重写。

    为了解决这个问题,unittest提供了一个FunctionTestCase类。这个TestCase的子类可用于包装现有的测试函数,并且也提供了创建和销毁的功能。

    现有下面的测试函数:

    def testSomething():
      something = makeSomething()
      assert something.name is not None
      # ...
    

    使用可选的创建和销毁方法可以创建一个等效的测试用例实例,如下所示:

    testcase = unittest.FunctionTestCase(testSomething, 
                                         setUp=makeSomethingDB, 
                                         tearDown=deleteSomethingDB)
    

    小贴士:
    虽然使用FunctionTestCase类可以快速地将现有测试库转换为基于unittest系统的测试,但是这个方法是不推荐的。花时间去建立对应的TestCase子类将会使未来的测试重构更加容易。

    如果现有的测试是使用doctest模块编写的,那么很容易将它使用在unittest系统中。doctest提供了一个DocTestSuite类,这个类可以从现有的基于doctest的测试中自动构建unittest.TestCase用例。

    相关文章

      网友评论

          本文标题:5.在unittest中复用旧的测试代码

          本文链接:https://www.haomeiwen.com/subject/mrmwtqtx.html