• 代码覆盖率
      在测试中,为了度量产品质量,代码覆盖率被作为一种测试结果的评判依据
      代码覆盖率是由特定的测试套件覆盖被测源代码的程度来度量
      • Coverage
        不仅支持分支覆盖率统计,还可以生成HTML/XML报告。并且XML报告可以结合Jenkins和Sonar集成工具一起使用
        pip install coverage
        • 使用方法
          针对不同Python版本,有不同的命令,coverage2、coverage3等
          • 在命令行中使用
            使用help命令查看帮助:coverage help
            run – 运行Python程序并收集执行数据
            report – 报告覆盖率结果
            html/json/xml – 生成HTML/JSON/XML文件,内容含覆盖率结果列表
            erase – 清除之前收集的覆盖率数据
            combine – 合并多个数据文件
            debug – 获取调试信息
            代码执行完成后会生成一个覆盖率统计结果文件:.coverage。该文件名可通过设置COVERAGE_FILE环境变量进行修改。
          • 调用API使用
            # 实例化对象
            cov = coverage.coverage
            # 开始分析
            cov.start
            import XXX # 注意将import放在cov之后否则,结果显示未加载
            suite = unittest.defaultTestLoader.discover(os.getcwd, “test.py”)
            unittest.TextTestRunner.run(suite)
            # 结束分析
            cov.stop
            # 结果保存
            cov.save
            # 命令行模式展示结果
            cov.report
            # 生成HTML覆盖率报告
            cov.html_report(directory= ‘covhtml’)
        • 生成报告
          一种是在当前命令行模式下查看,一种是生成HTML报告文件查看
          • 在当前命令行模式下查看
            使用命令:coverage report
            tmts:语句总数
            Miss:未执行到的语句数
            Cover:覆盖率,计算公式 Cover=(Stmts-Miss)/Stmts
          • 生成HTML报告文件查看
            使用命令生成HTML报告:coverage html -d cover
            参数-d是指定生成的html所在的文件夹名
        • Coverage.py — Coverage.py 5.6b1 documentation
        • 使用场景