Junit Maven插件,用于分发单元测试执行

Junit Maven插件,用于分发单元测试执行,junit,maven-plugin,Junit,Maven Plugin,我花了相当多的时间研究我们当前的构建过程,试图将整个增量构建恢复到10分钟(目前为1小时)的水平。构建过程中最大的时间消耗似乎是大量的单元测试,出于这样或那样的原因,这些测试需要花费相当多的时间来执行 最近,我尝试在少量刀片服务器上分发单元测试的执行。这将junit测试的总体执行时间增加到了一个可以容忍的范围内,但需要在CI框上进行大量手动脚本编写和管理,以保持测试正常工作。理想情况下,我希望在主节点上编译源代码,使用分布式surefire插件共同运行单元测试,然后使用主节点打包结果。目前我看不

我花了相当多的时间研究我们当前的构建过程,试图将整个增量构建恢复到10分钟(目前为1小时)的水平。构建过程中最大的时间消耗似乎是大量的单元测试,出于这样或那样的原因,这些测试需要花费相当多的时间来执行

最近,我尝试在少量刀片服务器上分发单元测试的执行。这将junit测试的总体执行时间增加到了一个可以容忍的范围内,但需要在CI框上进行大量手动脚本编写和管理,以保持测试正常工作。理想情况下,我希望在主节点上编译源代码,使用分布式surefire插件共同运行单元测试,然后使用主节点打包结果。目前我看不到使用分布式编译器有什么显著的好处

其他人是否将单元测试执行分布在多个框中?是否有任何插件(商业或开源)可以使这个过程更易于管理?对别人如何处理(或不解决)这个问题的任何见解都是非常值得赞赏的。

< P>你可以考虑


与和hudson的从属功能一起使用以分发作业。

可以使用surefire插件并覆盖默认的JVM参数。通过这种方式,可以使用自定义脚本,而自定义脚本反过来将派生一个新的docker容器,该容器将从容器中运行JVM。容器必须能够访问主机文件系统,才能访问编译类和其他资源。我创建了一个小的概念验证项目,以说明使用SSHFS的解决方案

请注意,这是不鼓励的,因此答案应该是搜索解决方案的终点(而不是参考文献的另一个中途停留,随着时间的推移,这些参考文献往往会过时)。请考虑在这里添加一个独立的概要,将链接作为参考。