zoukankan      html  css  js  c++  java
  • 代码覆盖率检查工具 -- Coverage,简单使用

    Coverage

      一个专门用来检查代码覆盖率的工具,他的使用非常简单,有两种使用方法:[命令行运行,配合测试套件使用]

      安装: pip install coverage

    一、准备素材

    main.py  

    def get_status(score):
        if score >= 90:
            return '优秀'
        elif score >= 80:
            return '良好'
        elif score >= 60:
            return '及格'
        else:
            return '不合格'

    test_get_status.py

    import unittest
    from main import get_status
    
    class GetStatus(unittest.TestCase):
    
        def test1(self):
            self.assertAlmostEquals(get_status(90))
    
        def test2(self):
            self.assertAlmostEquals(get_status(70))
    
    
    if __name__ == '__main__':
        unittest.main(verbosity=2)

    二、使用 coverage 来检查覆盖率

    2.1 命令行方式

    在命令行中运行

    # 1、搜集被测代码覆盖率信息,保存到 .coverage 文件中
    coverage run test_get_level.py
    
    # 2、生成覆盖率统计结果报告
    coverage html -d coverage_result

    然后看看测试结果

    *:statements :代码总行数

    *:missing:未执行代码行数

    *:coverage:代码覆盖率


     


    2.2 配合测试套件使用

    test_coverage.py

    import coverage
    import unittest
    
    cov = coverage.coverage()
    cov.start()
    
    suite = unittest.defaultTestLoader.discover('./', 'test_get_status.py')
    unittest.TextTestRunner().run(suite)
    
    cov.stop()
    cov.save()
    cov.report()
    cov.html_report(directory='res_html')

    然后就是运行结果,结果和上图是一样的,就不发了

  • 相关阅读:
    (三)OpenCV-Python学习—图像平滑
    (二)OpenCV-Python学习—对比度增强
    (一)OpenCV-Python学习—基础知识
    mongodb的安装及使用
    python操作MySQL数据库的三个模块
    mysql数据库学习二
    (八)爬虫之js调试(登陆知乎)
    经典Paxos算法笔记
    ThreadPoolExecutor源码解读
    FutureTask源码解读
  • 原文地址:https://www.cnblogs.com/shiyixirui/p/14535214.html
Copyright © 2011-2022 走看看