我们有一个大型项目,在测试套件中有数千个测试,并且完整的测试运行需要很长时间。
我正在寻找一种可以集成在Maven构建中的工具,它只会运行那些可能受影响的测试(知道每个的代码覆盖率),因为一些覆盖的代码有变化。< / p>
我正在谷歌上搜索,发现了一些类似的东西,但不是一个完美的契合:
mvn infinitest
一样)?使用(last)git commit记住测试覆盖率并针对最后的代码更改运行测试也是非常有用的。
欢迎对上述内容提出进一步的建议和意见。
答案 0 :(得分:1)
据我所知,Infinitest没有提供相应的Maven插件,因此无法使用它。你可以考虑创造它,为世界做出宝贵的贡献。
据我所知,它提供了非常可靠的API,因此编写插件应该不是一个大问题。您可能需要先查看InfinitestCore界面。如果您正在使用CI环境,您可能希望直接从git diff --name-only HEAD~1
提供Infinitest的文件列表,这将生成最新提交中更改的文件列表(例如,如果您针对每个提交运行构建)
<强> UPD 即可。似乎有一个涉及maven-exec-plugin的解决方法,以在Maven构建中显式运行Infinitest:you can run 'mvn exec:exec' from the command line or from m2eclipse's Maven
Build launcher to run Infinitest against your project.我建议使用executions
element in POM指定应在其上运行的显式构建阶段:< / p>
执行:重要的是要记住插件可能有多个目标。每个目标可能具有单独的配置,甚至可能将插件的目标完全绑定到不同的阶段。执行配置执行插件的目标。