返回介绍

10.4 测试结果输出到报告

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

经过前面的安装与设置,我们已经可以用 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 技术交流群。

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

发布评论

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