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