我使用的是jenkins,我有一个staging > qa > uat > master environment set.,我不希望jenkins在staging和qa环境中运行任何集成测试,只针对uat和master。
这样做有可能吗?如果是这样的话,是怎么做的?我的意思是,我应该在不同的包中分离单元测试和集成测试吗?今天我有:
src/main/java
src/test/java发布于 2020-02-14 11:02:45
定义接口IntegrationTest
public interface IntegrationTest {}并使用来自Junit4的注释@Category将您的测试分类为集成测试。
@Category(IntegrationTest.class)
public class YourTest因此,使用maven surefire和failsafe插件来创建测试组。
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<excludedGroups>you.package.IntegrationTest</excludedGroups>
</configuration>
</plugin>
<plugin>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.18.1</version>
<configuration>
<includes>
<include>**/*.java</include>
</includes>
<groups>you.package.IntegrationTest</groups>
</configuration>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>集成测试将自动从默认执行中排除,即mvn clean包。但是,如果您运行mvn integration-test,所有集成测试都将运行。
https://stackoverflow.com/questions/60218348
复制相似问题