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')
然后就是运行结果,结果和上图是一样的,就不发了