如何显示一个充满junit测试结果文件的目录

How to display a directory full of junit test result files

作为云测试的一部分,我计划将我的测试结果(我恰好使用 gradle)作为 xml 从一个短期容器复制到一个 s3 存储桶。

我想知道利用装满测试结果的存储桶的最佳方法是什么,以及是否有人知道如何用最少的自定义代码等获得最多的这些结果。

过去我用 XSLT 处理过这个问题,将 XML 变成 HTML,但这种方法感觉比我想做的要多。

有没有人为了自己的目的解决了这个问题可以分享你的方法?

正如我旁注...如果有人知道如何使用 HTML,我也可以将来自 gradle 的 HTML 报告复制到我的 s3 存储桶.

理想情况下,我将能够看到经过排序的结果列表并单击最新的以查看测试 运行 详细信息。

免责声明:我不是 DevOps 的人,我将在这里提出 "developer's" 观点

IMO 的答案取决于对所有这些报告到底想做什么。

简而言之,您可以从测试执行中获得 text/xml 报告(我不能说 gradle 但在 maven surefire 插件中创建这些报告,我相信 gradle做同样的事)。

您还可以使用报告信息生成美观的网站,也有相关工具,例如 Allure Reports。最重要的是,可以在构建目录中生成一些要显示的内容。

复制报告就像复制文件一样简单,但问题是当它们在 S3 中时想用它们做什么?

据我所知,CI 工具(如 Jenkins)在构建过程中 运行 进行测试,或者可能是针对已部署环境(在云中)的一套自动化测试). 这些 CI 工具 运行 gradle 用于构建项目和 运行 测试,然后它们会显示每个构建的测试结果,并记住最后 N 个构建。它还可以与上述 allure 等工具集成,并显示每个构建的 HTML 报告,只要构建存储在 CI 工具中。

所以我不确定我是否理解您为什么要 "run tests in the cloud"(我假设您在部署工件时 运行正在使用测试套件)。

至于对所有这些结果可以做什么的可能想法:

  1. 您可以创建一个站点来显示跨构建的结果(同样,这是 已经被 CI 工具解决了,比如 Jenkins)

  2. 您可以将 运行ning 测试的结果存储在某些数据库中并提供一些 聪明的统计数据(如果通常构建是 绿色,并且您不在 "recuperation" 项目的过程中,来自不稳定的测试或 某事)