返回介绍

10.5 显示覆盖率报告

发布于 2024-01-21 17:11:03 字数 1527 浏览 0 评论 0 收藏 0

现在我们已经能通过 Jenkins 界面查看测试用例执行结果的报告了。接下来我们看看如何用 pytest-cov 获取代码的覆盖率。

10.5.1 安装 pytest-cov

pytest-cov 同样可以用 pip 安装,具体如下。

$ pip install pytest-cov

在本地开发环境中安装完毕后,别忘了在 Jenkins 的 virtualenv 环境中也安装一遍。

10.5.2 从 pytest 获取覆盖率

执行下述命令,输出 xml 格式的覆盖率报告。

$ py.test --cov=foo --cov-report=xml

报告会以固定名称 coverage.xml 输出到当前目录下。如果想同时输出 xUnit 格式的文件,则要用下述命令。

$ py.test --junit-xml=test_result.xml --cov=foo --cov-report=xml

然后将 Jenkins 对应 Job 的“Execute shell”设置值替换成上述命令。

10.5.3 读取覆盖率报告

最后,让 Jenkins 读取上述命令输出的 xml 文件并显示在屏幕上即可。

点击“增加构建后操作步骤”按钮,选择“Publish CoberturaCoverage Report”。随后该选项卡内会自动生成一个“Publish Cobertura Coverage Report”表格项。现在点击“高级”按钮,按照下述方法在图 10.9 中进行设置。

· Cobertura xml report pattern :coverage.xml

· Source Encoding :UTF-8

图 10.9 设置读取覆盖率报告

设定完成之后执行 Job,接下来各位应该能在屏幕上看到如图 10.10 所示的覆盖率报告了。

图 10.10 覆盖率报告

测试覆盖到的源码行显示为绿色,反之显示为粉红色。

图 10.11 查看各个文件的覆盖率

如图 10.11,这样一来我们就能掌握执行测试代码之后的覆盖率了。接下来我们将学习 Django 测试代码的执行方法。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文