【发布时间】:2021-02-08 21:54:13
【问题描述】:
对于测试证据,我想将我写入特定目录的所有测试工件(例如服务器调用和响应)存档。我得到了压缩目录的方法,但是我找不到合适的地方来执行它。
测试生命周期回调似乎不是正确的位置,因为在每个测试类之后都会调用 @AfterAll,但是应该在所有测试类中的所有测试终止后生成存档。
在阅读了How to code once before and once after all junit5 tests have executed in a module? 之类的帖子后,从 junit 中执行调用的希望似乎不大。
我找到了一个扩展 TestLauncher,但在阅读了稀缺的文档之后,这似乎被用来从外部启动测试。尤其是 SummaryGeneratingListener 在阅读 https://www.codota.com/web/assistant/code/rs/5c7c89fd2f7dae0001637b13#L33 后听起来对扩展很有用,但是如果我将此代码放在 mavens src/test 下的树中,我看不到如何仅调用此启动器而不是所有单个测试...
由于代码最终将在归档非常重要的 maven 构建中运行,我认为也许有可能在目标测试之后运行它。但我知道,如果测试目标中至少有一定数量的错误,maven 就会停止,然后下面的代码将不会被执行。但在错误情况下,证据最有用。
有人试过类似的吗?
感谢分享想法、想法和经验
【问题讨论】:
-
想知道您为什么喜欢归档所有工件会很有趣?你使用像 Jenkins 这样的 ci 解决方案吗?您在测试期间会产生什么样的工件?
-
保存工件的主要原因是我使用 junit 执行的端到端测试的测试证据。越来越多的审计人员要求证明程序已经过测试以及如何测试。但也适用于商业以及作为开发和质量保证的文档。我尝试为每个测试编写一个人类可读的测试报告,该报告“自我记录”测试。此外,我将请求和响应写在单独的文件中,这些文件链接在测试报告中。这提供了一个高级描述,您可以在其中深入了解每个操作并重播。这提高了透明度,提供了实际的文档和简单的分析......