sit이라는 패키지에서 실행될 셀렌 기반 통합 테스트가있는 maven 프로젝트가 있습니다. 예를 들어 패키지에 테스트 파일을 포함하도록 failsafe 플러그인을 구성했습니다. <include>sit/**/*Test.java</include>
.테스트 실행 전에 Maven war 패키징을 건너 뛰었습니다.
나는 mvn clean install
을 실행하려고 시도하고 있는데 테스트를 시작할 때 실제로 테스트를 실행하기 전에 전쟁에 패키지화하지 않았으므로 실제로는 maven-war-plugin을 실행하지 않은 것으로 나타났습니다. 그러나 내가 mvn clean install -Dmaven.test.skip=true
을 실행하면 전쟁이 성공적으로 패키지됩니다.
내 치어의 구조는
<project ...>
<modelVersion>4.0.0</modelVersion>
<groupId>a</groupId>
<artifactId>a</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<dependencies>
...
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.18.1</version>
<configuration>
<includes>
<include>sit/**/*Test.java</include>
</includes>
</configuration>
<executions>
<execution>
<id>integration-test</id>
<phase>integration-test</phase>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
다음과 유사하다 (나는 또한 내가 아닌 기존의 전쟁을 배포하는 데 실패 등의 문제가 있었다 발견하는 방법을 전쟁을 배포하도록 구성된화물 플러그인을 가지고)
-Dmaven.test.skip=true
설정하지 않고 전쟁 플러그인을 실행하지 않는 이유는 무엇입니까?
두 시나리오가