[testing] 여러 모듈에서 IntelliJ IDEA에서 단위 테스트를 함께 실행

두 개 이상의 IDEA 모듈에서 모든 테스트를 한 번에 실행하려면 어떻게해야합니까?

많은 모듈을 사용하고 있으며 모든 단위 테스트를 자주 실행하는 것이 중요하며 실행할 폴더를 두 개 이상 선택하면 컨텍스트 메뉴에 더 이상 ‘실행’옵션이 없습니다.



답변

가장 좋은 방법 : (3 년 후 편집)

이를 달성하는 더 좋은 방법이 있습니다.

  1. 메뉴 “실행”→ “구성 편집 …”을 선택합니다. 왼쪽 상단 모서리에있는 녹색 더하기를 클릭하고 JUnit을 선택합니다.

  2. “패턴”에서 “테스트 종류”를 선택하고 보이는대로 정확히이 정규식을 입력합니다 ^(?!.*IT$).*$(캐럿으로 시작 ^하고 달러로 끝남 $). 이 정규 표현식은 다음과 같이 말합니다. 이름에 IT로 끝나지 않는 모든 테스트 .

  3. “전체 프로젝트에서”로 “테스트 검색”을 선택합니다. 작업 디렉토리는 최상위 모듈 작업 디렉토리로 설정되어야합니다 (기본적으로 설정되어야 함).

  4. “모든 단위 테스트”와 같은 테스트 이름을 입력합니다. 또한이 구성이 나중에 사라지지 않도록 “공유”옵션을 표시하는 것을 선호합니다. 적용 및 확인을 클릭하십시오.

이 정규식을 사용하여 필요에 맞게 실험 할 수 있습니다.

원래 답변 :

편안하지는 않지만 가능합니다.

  1. 첫 번째 모듈을 선택하고 test/java디렉토리를 마우스 오른쪽 버튼으로 클릭 한 다음 “모든 테스트 실행”을 선택합니다. 테스트 구성을 생성합니다.
  2. “구성 편집”을 선택하고 새로 생성 된 구성에서 “공유”를 선택하여 저장합니다.
  3. 두 번째 모듈 인 “Run All Tests”를 선택하고이 구성에서도 “Share”를 선택합니다.
  4. “시작 전”섹션에서 “+”를 클릭하고 “다른 구성 실행”을 선택한 다음 첫 번째 모듈의 구성을 선택합니다.

이렇게하면 구성을 순서대로 실행하고 모든 구성에 새 탭이 생깁니다. 여전히 아무것도없는 것보다 낫습니다.


답변

“실행 구성”을 만들어야합니다.

  1. “Make”버튼의 오른쪽 상단에있는 드롭 다운으로 이동하여 클릭합니다.
  2. “구성 편집”을 선택합니다.
  3. 이제 “+”버튼을 클릭하여 새 실행 구성을 추가하고 JUnit을 선택하십시오.
  4. 그런 다음 “구성 실행”을 구성 할 때 “테스트 종류”드롭 다운을 찾아 “디렉터리의 모든 클래스”를 선택합니다.
  5. 루트로 사용할 디렉토리를 선택하고 프로젝트의 최상위 디렉토리 또는 모듈의 디렉토리를 선택할 수 있습니다.
  6. 클래스 경로를 선택하는 IntelliJ 모듈을 선택합니다 (클래스 경로가있는 경우 최상위 프로젝트가 될 수 있음).


답변

모든 모듈을 선택하고 마우스 오른쪽 단추로 클릭 한 다음 모든 테스트를 실행하도록 선택하십시오. 이렇게하면 언제든지 다시 실행할 수있는 “전체 프로젝트” 라는 구성이 생성 됩니다.

이것은 각 모듈에 대해 개별적으로 단위 테스트를 실행하기 때문에 허용되는 답변보다 더 낫다는 것을 알았습니다. 테스트 케이스가 런타임 중에 모듈 별 리소스를 사용하는 경우 허용되는 답변의 가장 좋은 방법은 작동하지 않습니다.

모든 모듈 선택

모든 모듈 선택

마우스 오른쪽 버튼을 클릭하고 모든 테스트를 실행하도록 선택하십시오.

마우스 오른쪽 버튼을 클릭하고 모든 테스트를 실행하도록 선택하십시오.

새 실행 구성 가져 오기

새 실행 구성 가져 오기


답변

나를 위해 두 솔루션 모두 작동하지 않거나 예상대로 작동하지 않았습니다.

저에게는 3 개의 모듈이 있습니다. 내 모듈 종속성은 다음과 같습니다.

프레젠테이션 -> 도메인 -> 데이터

모든 테스트를 함께 실행하고 싶었습니다. 그래서 ‘모듈 의존성’접근 방식을 생각해 냈습니다.

내 설정은 다음과 같습니다.

여기에 이미지 설명 입력


답변

이것은 여러 모듈이있는 프로젝트에서 저에게 효과적이었습니다.

새 JUnit 실행 / 디버그 구성을 만듭니다. 테스트 종류 : ‘All in package’테스트 검색 : ‘전체 프로젝트’

작업 디렉토리도 지정해야합니다.


답변

그다지 분명하지 않은 또 다른 경우는 하나 이상의 프로젝트에서 코드 커버리지가 필요한 경우입니다. 순진한 해결책은 여러 프로젝트를 선택하고 한 번에 모든 단위 테스트를 실행하는 것입니다. 결과적으로 클래스 경로가 변경되고 IntelliJ에 실행 구성 당 정확히 하나의 클래스 경로 항목이있는 경우 단위 테스트가 실패 할 수 있습니다. 이 경우 실제로 프로젝트에서 단위 테스트를 순차적으로 실행하는 것으로 충분합니다. 각 실행이 끝날 때 IntelliJ (2017.2.5 Community Edition)는 수집 된 커버리지가 이전에 수집 된 커버리지 통계를 대체해야하는지 또는 추가되어야하는지 묻기 때문입니다.


답변