java - 使用 maven surefire 使用 mpirun 运行 Junit 测试
问题描述
我想使用与此问题中讨论的内容非常相似的mpirun -n 4 java <relevant arguments>
Junit 测试,但使用 maven surefire 而不是 ant。
从上一个问题中的评论来看,OP 似乎能够通过创建一个专用脚本并让他的 ant 脚本部分的jvm
参数junit
引用该脚本来实现这一点。
我的问题是:maven firesafe 中是否存在等效功能?可以让我将用于任意脚本的“java”命令更改为什么?或者我应该创建一个特定的 ant 脚本来从 maven 调用?
这是我的pom.xml
文件的摘录:
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.1</version>
<configuration>
<!-- Specify a script with a relative path here ? -->
</configuration>
</plugin>
解决方案
经过一些工作,我最终得到了一个与我预期完全不同的解决方案。
我开发了自己的 Junit4 运行器,它mpirun -np X java -cp...
为我创建了正确的命令并解析每个等级的测试结果。
由于使用自定义运行器是 Junit4 的标准功能,它与运行 Junit 测试的任何环境无缝集成,包括我特别感兴趣的 Maven Surefire(和 Failsafe)插件。
我不会开发这个自定义 Junit runner 如何工作的实现细节,但如果你有兴趣,我刚刚在 GitHub 上发布了它(网站:https ://handist.github.io/mpi-junit/ )。
推荐阅读
- wordpress - 在 wodfpress 的 RSS 提要中显示修改日期
- batch-file - 批处理文件:同时启动两个进程,然后在进程 2 完成后终止进程 1
- javascript - 时间流分页不适用于nodejs
- cakephp - 如何将普通查询转换为 cakephp 标准
- google-apps-script - 从另一个单元格中减去一个单元格中的值的脚本
- list - 如何在列表中找到比前一个值增加不到 10% 的值
- qt - 连接自定义滚动条和 Flickable
- php - 为什么这个 PDO 准备好的语句不更新记录?
- django - 导航到不同的页面而不是 Ajax 调用
- asp.net-core - Hangfire - DisableConcurrentExecution - 如果在方法参数中传递相同的值,则防止并发执行