所以我在使用Intellij在我的Maven项目中运行所有测试时遇到了问题。原因是因为少数模块依赖于加载的dll中的Native方法。由于这个dll不能加载多次,我不得不在我的maven pom文件中添加一个子句,这些测试将以分叉模式运行。
然而,在Intellij中,我无法弄清楚如何使这些相同的测试运行为分叉模式。我想利用Intellij pretty UI进行单元测试,使用绿色条和漂亮的UT接口,但由于这个问题,我无法在项目中运行所有测试。
有没有人遇到Maven,Intellij和Unit测试的问题,以及如何让它们很好地一起玩的任何提示?
以下是我的pom.xml文件的片段:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
<executions>
<execution>
<id>allTests</id>
<goals>
<goal>test</goal>
</goals>
<configuration>
<skip>false</skip>
<excludes>
<exclude>**/pkgA/**/*Test.java</exclude>
</excludes>
</configuration>
</execution>
<execution>
<id>forkedTests</id>
<goals>
<goal>test</goal>
</goals>
<configuration>
<skip>false</skip>
<forkMode>pertest</forkMode>
<includes>
<include>**/pkgA/**/*Test.java</include>
</includes>
<excludes>
<exclude>**/SpecificTest.java</exclude>
<exclude>**/*PerformanceTest.java</exclude>
</excludes>
</configuration>
</execution>
</executions>
</plugin>
答案 0 :(得分:2)
请在IntelliJ IDEA问题跟踪器中投票选择功能请求:Allow unit tests to be run seperate JVMs。
答案 1 :(得分:0)
然而,在Intellij中,我无法弄清楚如何使这些相同的测试运行为分叉模式。
我认为IntelliJ不允许调整其test runner的行为。
有没有人遇到Maven,Intellij和Unit测试的问题,以及如何让它们很好地一起玩的任何提示?
一些想法/建议:
答案 2 :(得分:0)
在IntelliJ 14中,运行配置对话框中有 Fork模式选项。 当您在类/套件中运行所有测试时,您可以启用forkMode =方法,该方法应该等同于您的maven的 pertest 。