내 프로젝트를 패키지하려고합니다. 그러나 이전에 패키징을 수행하는 테스트를 자동으로 실행합니다. 테스트는 데이터베이스에 일부 내용을 삽입합니다. 이것은 내가 원하는 것이 아닙니다. 응용 프로그램을 패키지하는 동안 테스트를 실행하지 않아야합니다. 아무도 테스트하지 않고 패키지를 실행하는 방법을 알고 있습니까?
내 프로젝트를 패키지하려고합니다. 그러나 이전에 패키징을 수행하는 테스트를 자동으로 실행합니다. 테스트는 데이터베이스에 일부 내용을 삽입합니다. 이것은 내가 원하는 것이 아닙니다. 응용 프로그램을 패키지하는 동안 테스트를 실행하지 않아야합니다. 아무도 테스트하지 않고 패키지를 실행하는 방법을 알고 있습니까?
답변:
로 maven을 실행
mvn package -Dmaven.test.skip=true
-DskipTests
했지만 그것을 더 이상 작동하지 않습니다.
테스트 케이스 실행을 무시하는 아래 언급 된 명령 만 제공하십시오.
mvn package -DskipTests
-DskipTests
내가 사용할 때 나를 위해 작동하지 않았다mvn clean install -DskipTests
-DskipTests
동일하며 테스트를 컴파일하고 실행 하지 않습니다 (컴파일하지 않은 경우)-Dmaven.test.skip.exec=true
-Dmaven.test.skip=true
명령 행 arg를 설정하지 않으려면이 플러그인 구성을 pom에 추가 할 수 있습니다.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
-Dmaven.test.skip는 Maven이 테스트 jar 아티팩트를 빌드하지 못하게합니다.
테스트를 건너 뛰고 일반 빌드에 따라 아티팩트를 작성하려면 다음을 사용하십시오.
-Dmaven.test.skip.exec
Windows Powershell에서이 작업을 시도하면 다음 오류가 발생합니다.
[ERROR] Unknown lifecycle phase ".test.skip=true". You must specify a valid lifecycle phase or a goal in the format...
그 이유는 Powershell에서 " -
"은 특별한 의미를 가지며 maven에 문제를 일으키기 때문입니다.
해결책은 백틱 (`)을 앞에 붙이는 것입니다.
mvn `-Dmaven.test.skip=true install
테스트는 항상 패키지 전에 실행해야합니다 [1]. 테스트를 꺼야 할 경우 문제가있는 것입니다. 즉, 잘못된 문제를 해결하려고합니다. 문제가 실제로 무엇인지 파악하고 그 질문을하십시오. 데이터베이스와 관련된 것 같습니다.
[1] 로컬, 개발 용으로 아티팩트를 빠르게 생성해야하는 경우 테스트를 건너 뛸 수 있지만 일반적으로 아티팩트 작성은 항상 성공적인 테스트 실행을 따라야합니다.
maven 테스트를 감염시키지 않은 maven 패키지의 경우 :
<properties>
<maven.test.failure.ignore>true</maven.test.failure.ignore>
</properties>
당신은 분명히 잘못된 길을 가고 있습니다. 테스트는 사전 포장의 중요한 부분입니다. 무시하거나 건너 뛰지 말고 올바른 방법으로 수행하십시오. 데이터를 삽입 할 데이터베이스 (예 : test_db)를 변경하십시오. 설정하는 데 시간이 걸릴 수 있습니다. 이 데이터베이스를 영원히 사용할 수 있으려면 테스트가 끝날 때까지 모든 데이터를 삭제해야합니다. JUnit4에는 주석이있어 쉽게 사용할 수 있습니다. 올바른 방법으로 @Before, @After @Test 주석을 사용하십시오. 당신은 그것에 시간을 할애해야하지만, 그만한 가치가 있습니다!
Intellij에서보기-> 도구 창으로 이동하여 Maven 프로젝트를 선택하십시오. Lifecyle 드롭 다운에서 패키지를 마우스 오른쪽 버튼으로 클릭하고 '프로젝트 [패키지]'생성 ...을 선택합니다.
package -Dmaven.test.skip=true -f pom.xml
명령 행 필드 에이 값을 입력하십시오 . 적용을 클릭하면 생성 된 사용자 지정 maven 명령과 함께 Run Configurations 드롭 다운 메뉴가 나타납니다.