- 引言
- 本书涉及的内容
- 第 1 部分 Python 开发入门
- 第 1 章 Python 入门
- 第 2 章 开发 Web 应用
- 第 3 章 Python 项目的结构与包的创建
- 第 4 章 面向团队开发的工具
- 第 5 章 项目管理与审查
- 第 6 章 用 Mercurial 管理源码
- 第 7 章 完备文档的基础
- 第 8 章 模块分割设计与单元测试
- 第 9 章 Python 封装及其运用
- 第 10 章 用 Jenkins 持续集成
- 第 11 章 环境搭建与部署的自动化
- 第 12 章 应用的性能改善
- 第 13 章 让测试为我们服务
- 第 14 章 轻松使用 Django
- 第 15 章 方便好用的 Python 模块
- 附录 A VirtualBox 的设置
- 附录 B OS(Ubuntu)的设置
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
10.5 显示覆盖率报告
现在我们已经能通过 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论