Maven无法识别多模块项目中的集成测试

时间:2019-01-08 16:53:26

标签: java maven pom.xml maven-plugin maven-failsafe-plugin

我正在尝试使用故障安全插件为我的多模块Maven项目设置集成测试。 在一个较小的虚拟项目中,我具有以下结构:

pom.xml
src 
-main
--java
---com
----App.java
-test
--java 
---com 
----AppIT.java

以下是pom.xml的相关附加内容:

<profiles>
  <profile>
    <id>failsafe</id>
    <build>
      <plugins>
        <plugin>
          <artifactId>maven-failsafe-plugin</artifactId>
          <version>2.22.0</version>
          <executions>
             <execution>
               <goals>
                 <goal>integration-test</goal>
                 <goal>verify</goal>
               </goals>
             </execution>
          </executions>
        </plugin>
      </plugins>
    </build>
  </profile>
</profiles>         

一切正常,当我运行mvn verify -Pfailsafe时检测到测试。

enter image description here

对于新项目,我有以下内容 结构:

pom.xml
module-1
module-2
module-testing
-src
--test
---java    
----com
-----Test1.java
-----Test2.java
-----...
-----RestIT.java

所有Test1.java到TestN.java都是单元测试。 RestIT.java是我只想成为的空集成测试的名称 由verify命令检测到的方式与在旧虚拟项目中检测到AppIT.java的方式相同。

这是我添加到整个项目的pom.xml中的内容(与虚拟Maven项目的pom.xml中的内容相同):

<profiles>
  <profile>
    <id>failsafe</id>
    <build>
      <plugins>
        <plugin>
          <artifactId>maven-failsafe-plugin</artifactId>
          <version>2.22.0</version>
          <executions>
            <execution>
              <goals>
                <goal>integration-test</goal>
                <goal>verify</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
      </plugins>
    </build>
  </profile>
 </profiles>

mvn verify -Pfailsafe的输出中检测到现有的单元测试,但未检测到RestIT.java测试。我也 之前曾见过“找不到故障安全配置文件”的错误,并且在运行该命令时不存在该错误 并将以上代码段添加到父pom.xml中。

如果您有兴趣查看整个maven命令输出或整个pom.xml,请告诉我,我将添加Dropbox链接。

1 个答案:

答案 0 :(得分:0)

尝试通过集成测试将其添加到模块中:

<profiles>
  <profile>
    <id>failsafe</id> 
  </profile>
</profiles>

注意,ID相同。我怀疑这将允许模块提取配置文件内容。默认情况下,配置文件不会被继承。