1 回答
TA贡献1851条经验 获得超4个赞
来自文档:
从版本 2.22.0 开始,您可以从多模块项目的项目依赖项中扫描测试类。
这意味着测试 ( proj-tests.jar) 必须是项目的依赖项。由于您无法在构建测试 jar 的同一项目中依赖它们,因此解决方案是使用另一个模块或pom文件。例子:
<groupId>failsafe.use.jar</groupId>
<artifactId>failsafe-use-jar</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<dependencies>
...
<dependency>
<groupId>com.myorg</groupId>
<artifactId>proj-tests</artifactId>
<version>0.0.1-SNAPSHOT</version>
<classifier>tests</classifier>
</dependency>
...
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.22.2</version>
</plugin>
</plugins>
</build>
这proj-tests是一个项目依赖项,可以使用以下命令创建:
<groupId>com.myorg</groupId>
<artifactId>proj-tests</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
...
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.1.2</version>
<executions>
<execution>
<goals>
<goal>test-jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
要从容器运行集成测试,显然需要将所有依赖项安装在本地(容器)maven 存储库中或部署在远程中。然后你可以运行:
mvn failsafe:integration-test -DdependenciesToScan=com.myorg:proj-tests
请注意,属性的格式dependenciesToScan
是groupId:artifactId
(您使用 jar 的名称而不是 运行artifactid
)
另请注意,集成测试failsafe
默认搜索以IT
(集成测试) 结尾的类文件。
添加回答
举报