仅当所有Junit测试都通过OK时才运行Java项目

仅当所有Junit测试都通过OK时才运行Java项目,java,intellij-idea,junit,Java,Intellij Idea,Junit,我正在运行一个Java项目,该项目被配置为首先运行JUnit测试类(它是一个带有参数化测试的类),然后构建项目本身并运行它 有没有办法配置Intellij,使其仅在Junit测试成功通过时运行项目的构建 谢谢最好的方法是从主应用程序运行第一个JUnit测试并检查结果,如果退出应用程序时出错: JUnitCore junit = new JUnitCore(); Result result = junit.run(testClasses); if (!result.wasSuccessful()

我正在运行一个Java项目,该项目被配置为首先运行JUnit测试类(它是一个带有参数化测试的类),然后构建项目本身并运行它

有没有办法配置Intellij,使其仅在Junit测试成功通过时运行项目的构建


谢谢

最好的方法是从主应用程序运行第一个JUnit测试并检查结果,如果退出应用程序时出错:

JUnitCore junit = new JUnitCore();
Result result = junit.run(testClasses);

if (!result.wasSuccessful()) {
                LOG.fatal("Some JUnit Text Failed, app will exit");
                System.exit(-1);
}

在intellij中,在“运行/调试配置”->“启动之前”->“+”->“运行另一个配置”。最后一个可能是单元测试(“模块中的所有名称”)。

问题是我的Junit类调用项目的主方法以产生特定的结果。这意味着上面的代码将导致无限循环(因为main和Junit将相互调用)。在这种情况下,我可能需要使用一个标志来区分将通过主参数传递的调用方。。。(我知道)这会产生循环依赖性,但是从JUnitWould调用Maund并考虑构建一个像Maven这样的项目生命周期工具并不是一个好主意。