- 引言
- 本书涉及的内容
- 第 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.4 测试结果输出到报告
经过前面的安装与设置,我们已经可以用 Jenkins 创建 Job 并执行测试代码了。不过,实际开发中的测试用例要比这个多得多,而且单纯从面板上查看测试成功 / 失败并不能满足开发的需求。
Jenkins 可以读取指定格式(xUnit 格式)的 xml 文件并将测试结果以报告形式显示在屏幕上。使用 Python 的 pytest 不仅能够一次性执行多个测试用例,还能将结果以 xUnit 格式输出。所以这里我们借助 pytest 来输出测试结果的报告。
10.4.1 安装 pytest
可以用 pip 安装 Pytest。
$ pip install pytest
10.4.2 调用 pytest 命令
安装完 pytest 后就可以调用 py.test 命令了。我们先移动到放有 test_foo.py 的目录下,然后执行如下命令。
$ py.test --junit-xml=test_result.xml
该命令会输出一个 xUnit 格式的 test_result.xml 文件。现在只要让 Jenkins 读取它,我们就能从屏幕中看到测试结果的报告了。
10.4.3 根据 pytest 更改 Jenkins 的设置
首先给 Jenkins 设置 virtualenv,安装 pytest。
$ sudo su - jenkins $ virtualenv .virtualenv/simple_test $ source .virtualenv/simple_test/bin/activate $ pip install pytest
然后来更改 Jenkins 的设置。需要修改的只有“Execute shell”中指定的命令行操作内容。原本我们是用 python 命令直接执行 unittest 的测试用例的,这里替换成调用上面提到的 py.test 命令,如图 10.6。
图 10.6 根据 pytest 修改命令
接下来设置“构建后操作”选项卡,让 Jenkins 读取 py.test 命令输出的 xml 文件,如图 10.7。
图 10.7 设置读取测试报告
点击“增加构建后操作步骤”按钮,选择“Publish JUnit test result report”。随后该选项卡内会自动生成一个“Publish JUnit test result report”表格项,我们在“测试报告(XML)”里指定 test_result.xml。
现在再点击“立刻构建”,则将显示如图 10.8 的报告。
图 10.8 测试结果报告
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论