• python笔记-标准库unittest


    unittest核心工作原理

    unittest中最核心的四个概念是:test case, test suite, test runner, test fixture。

    • 一个TestCase的实例就是一个测试用例。什么是测试用例呢?就是一个完整的测试流程,包括测试前准备环境的搭建(setUp),执行测试代码(run),以及测试后环境的还原(tearDown)。元测试(unit test)的本质也就在这里,一个测试用例是一个完整的测试单元,通过运行这个测试单元,可以对某一个问题进行验证。

    • 而多个测试用例集合在一起,就是TestSuite,而且TestSuite也可以嵌套TestSuite。

    • TestLoader是用来加载TestCase到TestSuite中的,其中有几个loadTestsFrom__()方法,就是从各个地方寻找TestCase,创建它们的实例,然后add到TestSuite中,再返回一个TestSuite实例。

    • TextTestRunner是来执行测试用例的,其中的run(test)会执行TestSuite/TestCase中的run(result)方法。
      测试的结果会保存到TextTestResult实例中,包括运行了多少测试用例,成功了多少,失败了多少等信息。

    • 而对一个测试用例环境的搭建和销毁,是一个fixture。

    实例,如:一个class中有四个test_xxx方法,最后在load到suite中时也有四个测试用例。

    到这里整个流程就清楚了:

    写好TestCase,然后由TestLoader加载TestCase到TestSuite,然后由TextTestRunner来运行TestSuite,运行的结果保存在TextTestResult中,我们通过命令行或者unittest.main()执行时,main会调用TextTestRunner中的run来执行,或者我们可以直接通过TextTestRunner来执行用例。这里加个说明,在Runner执行时,默认将执行结果输出到控制台,我们可以设置其输出到文件,在文件中查看结果(你可能听说过HTMLTestRunner,是的,通过它可以将结果输出到HTML中,生成漂亮的报告,它跟TextTestRunner是一样的,从名字就能看出来,这个我们后面再说)。

     


    作者:灰蓝蓝蓝蓝蓝蓝
    链接:https://www.jianshu.com/p/38948d0d73f5
    來源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 相关阅读:
    @PathVariable和@RequestParam的区别
    Spring整合hibernate4:事务管理
    Android横竖屏切换生命周期
    Android-Universal-Image-Loader三大组件DisplayImageOptions、ImageLoader、ImageLoaderConfiguration详解
    Gson简要使用笔记
    Java Web 路径问题
    Java相对路径/绝对路径总结
    关于图片或者文件在数据库的存储方式归纳
    cf706C(dp)
    cf414B(dp)
  • 原文地址:https://www.cnblogs.com/lily1989/p/8513193.html
Copyright © 2020-2023  润新知