인프런 커뮤니티 질문&답변
@Runwith 질문입니다.
작성
·
602
0
junit5에서는@Runwith(SpringRunner.class)가 @SpringBootTest에 포함되있어서 안적어도 된다고 하는데
실제로 해보면 Run할수있는 아이콘조차 안뜹니다.
썻다가 지우면 아이콘 생기는데 돌리면 join메서드 호출시 NPE 발생합니다..
@Runwith(SpringRunner.class)있으면 정상동작합니다.
이전 스프링 입문,기본편에서도 테스트케이스 작성시 @Runwith(SpringRunner.class) 사용안한걸로 기억하는데
왜 여기 테스트 케이스에서는 @Runwith(SpringRunner.class)가 없으면 정상동작을 안하나요??
답변 3
1
안녕하세요. 지훈님
제가 이 강의를 촬영하던 시점에는 스프링 부트 버전 2.1.x인데요. 이 버전은 기본으로 JUnit을 4 버전을 사용하고 있습니다.
그래서 해당 부분이 적용이 안됩니다.
만약 Junit5를 사용하고 싶으시면 스프링 부트 버전도 최신으로 함께 맞추는 것을 권장드립니다.
스프링 부트 버전을 최신으로 변경하면 JUnit이 5로 변경되는데 그 부분이 강의와 다르니 주의해서 개발하시면 됩니다.
감사합니다.
0
0
답변 감사합니다.
사실 @Runwith 쓰고 하면 상관은없지만.. 뭐가 문제인지 궁금합니다ㅠ
제 프로젝트 스프링 부트 버전은 2.3.5인데도 @Runwith가 없으면 동작하지 않습니다..
물론 테스트 클래스는 junit5로 만들었구용
Gradle 펼쳐서 보니까 junit:4.12 이렇게 표시되는데 혹시 이게 문제일까요??
외부 라이브러리 보면 junit:4.12와 junit5.6.3 둘다 들어있습니다.





