我在src / test-integration / java下的项目中进行了一些集成测试 我在运行集成测试时没有问题。 但是我如何通过终端进行单一集成测试?
当我使用mvn integration-test -Darg1=data1
时,它会运行所有集成测试。
我尝试使用mvn integration-test -Dagr1=data1 -Dtest=IntegrationTestClass1
,但它不起作用
任何解决方案?
我正在使用maven-surefire-plugin-2.9和maven-failsafe-plugin-2.6
答案 0 :(得分:0)
执行单一集成测试的正确方法是使用属性it.test
mvn -Dagr1=data1 -Dit.test=IntegrationTestClass1 verify
如果这不起作用,则发布您的pom.xml,因为src/test-integration/java
不是集成测试的标准位置。
约定的所有测试的标准位置是src/test/java
。默认情况下,所有集成测试都应具有后缀IT
。这是集成测试的默认故障安全配置。
答案 1 :(得分:-1)
下面是我的pom.xml,由于一些限制,我无法挑战我的全部pom,但这是它的要点
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.9</version>
<dependencies>
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire-junit47</artifactId>
<version>2.8.1</version>
</dependency>
</dependencies>
<configuration>
<skipTests>false</skipTests>
<failIfNoTests>false</failIfNoTests>
<includes>
<include>**/*.class</include>
</includes>
<excludedGroups>com.IntegrationTest</excludedGroups>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.6</version>
<dependencies>
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire-junit47</artifactId>
<version>2.8.1</version>
</dependency>
</dependencies>
<configuration>
<reuseForks>true</reuseForks>
<groups>com.IntegrationTest</groups>
</configuration>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
</goals>
<configuration>
<skipITs>false</skipITs>
<skipTests>false</skipTests>
<includes>
<include>**/*.class</include>
</includes>
</configuration>
</execution>
</executions>
</plugin>
</plugins>