Maven에서는 소스 코드가 변경된 경우에만 JUnit 테스트가 실행되도록 지정하는 방법이 있습니까?조건부로 Maven의 JUnit 테스트를 실행하십시오.
는 예를 들어, 내가 어떤 테스트가 실행되지 것을 원합니다 이제 (마지막 컴파일 아무런 변화가 없었다 때문에) 어떤 코드가 컴파일되지 않았다부터 -이 메시지
[INFO] --- maven-compiler-plugin:2.3.2:testCompile (default-testCompile) @ my_project ---
[INFO] Nothing to compile - all classes are up to date
를 참조하십시오. 이것이 가능한가?
코드가 변경되지 않았는지 질문 할 수 있습니다. 왜 컴파일 목표를 실행하고 있습니까? –
여기에는 2 가지 일이 있습니다. 1 - 여러 프로필을 가진 프로젝트가 있습니다. 각 프로파일은 전쟁에 패키지화 될 다른 설정 파일을 가지고 있지만,이 설정 파일 중 어느 것도 테스트에 사용되지 않습니다 (테스트는 자체 모의 설정 파일을 가지고 있습니다). 이런 이유로, 일단 시험이 1 개의 구조 건축을 위해 통과하면, 모두를 위해 통과 할 것이다. 빌드 된 각 프로파일에 대해 테스트를 수행 할 필요가 없습니다. 2 - 다중 모듈 빌드를 설정하려고합니다. 모듈이 변경 될 때마다 빌드가 실행될 때마다 모든 테스트가 실행됩니다 (심지어 w/0 변경 모듈). – Vinnie
알았어. 필자는 config 체크인 후 테스트가 실행되어서는 안되는 경우 config 및 코드가 동일한 다중 모듈 빌드의 일부가되어서는 안된다고 주장 할 수 있습니다. 나는 그것이 당신을 도울 수 없다는 것을 깨닫는다! 어쩌면 빌드를 3로 나눌 수 있습니다. 소스 코드 변경에 의해 트리거되는 코드 용 BuildA는 항상 테스트를 실행합니다. 구성 전용 BuildB. 그리고 A 또는 B 빌드에 의해 트리거되는 webapp의 BuildC. BuildC는 A와 B의 빌드 된 아티팩트 만 사용하므로 컴파일/테스트를 트리거하지 않습니다. –