환경
- macos catalina
- intellij idea ultimate
- gradlew 4.10.3
- JUnit 5
intellij에서 테스트 코드를 실행 (cmd + R) 하였으나 테스트를 찾지 못했다는 에러가 나오는 상황
에러
Testing started at 12:25 오전 ...
> Task :cleanTest
> Task :compileJava NO-SOURCE
> Task :processResources NO-SOURCE
> Task :classes UP-TO-DATE
> Task :compileTestJava UP-TO-DATE
> Task :processTestResources NO-SOURCE
> Task :testClasses UP-TO-DATE
> Task :test FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':test'.
> No tests found for given includes: [study.StringTest.split](filter.includeTestsMatching)
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 0s
3 actionable tasks: 2 executed, 1 up-to-date
원인 분석
나의 접근 방법
gradle이 없어서 그런가?
brew install gradle
동일한 에러 발생
gradlew가 있는데 그럴리가 없지.
예제 그대로인데 뭔가 설정이 다른가?
구글 검색 결과 JUnit5를 사용하기 위해서는 Gradle 4.6 이상이 필요하다고 한다.
Gradle 버전 확인
gradle -v
또는
./gradlew -v
JUnit5는 JUnit Platform과 JUnit Jupiter, JUnit Vintage가 합쳐진 테스트 프레임워크라고 한다.
플랫폼을 지정해주는 방법으로 시작할 수 있다는데 정확한 이해는 하지 못했다.
참고로 JUnit버전을 4.12로 내리면 동작한다. (4.x 버전에서 사용하는 플랫폼이 default인가?)
testCompile('junit:junit:4.12')
해결
build.gradle
에 추가
test {
useJUnitPlatform()
}
또는 Intellij 설정 변경
맥: cmd + ,
윈도우: CTRL + ALT + S
Run tests using 항목을 IntelliJ IDEA로 변경
참조