这个模块提供了有效的核心集成测试套件,从bootstrap开始。
IT 结果显示在控制台上,并可通过 Surefire Report 在网站上发布。
mvn -Preporting site
当前部署的Surefire 报告是使用以下环境生成的:
maven.version: 4.0.0-alpha-1-SNAPSHOT java.version: 1.8.0_202 os.name: Linux os.version: 5.4.0-94-generic
一个好的 IT 不依赖于像 Central 这样的外部存储库,它使用专用的测试插件和测试存储库。IT 使用的默认settings.xml通过将中心指向file:target/null来帮助强制执行此操作,这显然无法解决任何问题。这种使用基于文件的虚拟存储库的设置也有助于缩短执行时间,因为此存储库产生(预期的)404秒比基于 HTTP 的存储库快得多。
需要访问 Central 的一个地方是MavenITBootstrapTest ( src , javadoc ),它并没有真正测试任何东西,只是用 IT 需要的任何工件来准备本地 repo:你可以在这里看到插件和工件的列表在引导期间获取的。
因此,在将新的依赖项引入 IT 本身或支持插件时需要小心。很多时候,我们遇到的故障是所需的实际工件消耗与引导期间填充的内容之间的差异。忘记时,典型的故障(如 ASF CI 中所见)将在日志中给出以下跟踪:
[ERROR] testit(org.apache.maven.it.MavenITmng...) Time elapsed: 0.145 s <<< ERROR! ... [ERROR] Failed to execute goal ... (...) on project ...: ... Could not find artifact ... in central (file:target/null) -> [Help 1]