728x90
목차
1. InvalidTestClass Error
테스트 코드를 작성하다가 InvalidTestClassError 를 보게되었습니다.
- 작성한 코드
import org.junit.jupiter.api.Test;
...
@RunWith(SpringRunner.class)
@SpringBootTest(classes = TestApplication.class)
@ActiveProfiles(resolver = TestProfileLoader.class, inheritProfiles = true)
@Transactional
@Rollback
public class TestCode {
@Test
public void test() {
...
}
}
- 에러 메시지
org.junit.runners.model.InvalidTestClassError:Invalid test class
...(이하 생략)
코드 상으로는 틀린 부분이 없어 보였는데 왜 에러가 발생했는지 원인을 찾아보았습니다.
2. 오류 원인
사용하는 Junit 의 버전과 @Test 어노테이션 관련해서 import 한 모듈이 달라 발생하는 오류입니다.
위 코드에서는 Junit4 를 사용하여 tc 를 작성했지만 import 한 모듈은 Junit5에서 지원하는 @Test 어노테이션의 모듈을 import 해와서 발생하였습니다.
3. 해결 방법
Junit4
import org.junit.Test;
Junit5
import org.junit.jupiter.api.Test;
단일 jar였던 Junit4 와 다르게 Junit5는 Junit plat form, Junit Jupiter, Junit Vintage 3가지로 이루어져있습니다. 따라서 Junit 버전에 맞게 Test를 import 해야됩니다.
4. 그 외
이렇게 수정했는데도 오류가 발생한다면 public 을 빠트렸는지 확인해봅니다.
- public class
- public void {method_name}
728x90
'스터디 > JAVA' 카테고리의 다른 글
[JAVA] 타임존 알아보기 Instant, LocalDateTime, ZonedDateTime (0) | 2024.07.02 |
---|---|
[JAVA] enum 비교는 equals 일까 == 일까? (1) | 2024.04.28 |
[JAVA] Mac M1, M2 openjdk17 설치하기 (0) | 2024.01.28 |
[JAVA] Mac homebrew 설치 및 사용 방법 (1) | 2024.01.27 |
[JAVA] Fail-Fast 와 Fail-Safe (0) | 2023.08.17 |
댓글