我有一个多模块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>
我还向子模块的pom.xml中添加了完全相同的代码段,在该代码段中,该代码段还添加了初始测试:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
</plugin>
</plugins>
</build>
这是添加了初始集成测试的模块的目录结构:
parent
-aws-service-utils
--src
---main
----java
-----com
------lorem
-------ipsum
--------S3
---------S3.java (dummy class)
---test (in same directory as main)
----java
-----com
------lorem
-------ipsum
--------dolor
---------tests
----------S3IT.java (test class for dummy class)
S3.java
如下所示,不包括导入的软件包:
public class S3 {
public int confirmAdd() {
int sum = 2 + 2;
return sum;
}
}
这是S3IT.java
的样子,再次不包括导入的包:
public class S3IT {
@Test
public void confirmAdd() {
int sum = 2+2;
assertTrue(sum == 4);
}
}
我运行mvn verify -Pfailsafe
,然后运行mvn failsafe:integration-test
,并且没有得到预期的所有其他类的测试输出。然后出现aws-service-utils
模块的以下内容:
因此,它似乎是在识别集成测试类S3IT.java,而不是内部的测试。我在similar Stack Overflow post中浏览了所提出的解决方案,但没有一个起作用。我可以使用here找到用于设置与Maven集成测试的主要资源。