代码覆盖率检查工具 -- 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')
复制代码

 

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

 

posted @   十一的杂文录  阅读(1933)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示