zoukankan      html  css  js  c++  java
  • Python

    衡量单元测试对相应代码的测试重量,覆盖率是一个必要非充分条件,因此统计代码的覆盖率,检视单测是否充分,就尤为的重要。这里针对python-unittest的单测的覆盖率coverage进行使用说明与分析.

    coverage是一种用于统计Python代码覆盖率的工具,通过它可以检测测试代码对被测代码的覆盖率如何。可以高亮显示代码中哪些语句未被执行,哪些执行了,方便单测。并且,coverage支持分支覆盖率统计,可以生成HTML/XML报告。

    命令行使用说明: 详见:http://nedbatchelder.com/code/coverage/cmd.html

    1. run

    运行一个.py的文件方式:python test.py

    现在使用coverage执行.py的文件方式:coverage run test.py

    会自动生成一个覆盖率统计结果文件(data file):.coverage,这个文件在你的test.py的文件对应目录下。

    2. report

    coverage report

    有了覆盖率统计结果文件,只需要再运行report参数,就可以在命令里看到统计的结果。

    $ coverage report
    Name                      Stmts   Exec  Cover
    ---------------------------------------------
    my_program                   20     16    80%
    my_module                    15     13    86%
    my_other_module              56     50    89%
    ---------------------------------------------
    TOTAL                        91     79    87%

    3. html 

    coverage html -d covhtml

    生成html的测试报告。

    备注:coverage run test.py命令运行的文件,会统计项目中包括测试文件本身在内的所有文件,run参数的子参数—source可以指定要统计的文件:$ coverage run --source=totest.py test.py 可以只统计totest.py文件。

    如果是针对单测的覆盖率统计,需要在单测文件test_xxx.py的代码的最后加上。这样可以执行整个单测代码,然后执行coverage run test_xxx.py 即可。

    if __name__ == "__main__":
        unittest.main()
  • 相关阅读:
    Mysql TEXT类型长度
    php中的||和or的区别 优先级
    常用的排序算法的时间复杂度和空间复杂度
    ThinkPHP 多应用多模块建立方式
    phpcms v9 后台添加修改页面空白页问题解决方法
    linux中nginx重定向方法总结
    Nginx的主要配置参数说明
    Apache多网站虚拟目录域名
    xampp命令
    (转载)处理SQL解析失败导致share pool 的争用
  • 原文地址:https://www.cnblogs.com/blitheG/p/14637727.html
Copyright © 2011-2022 走看看