1. 테스트 Class에 @SpringBootTest 어노테이션을 추가한다.
2. @Autowired 어노테이션을 사용하여 빈을 등록한다.
@RequiredArgsConstructor와 같은 방식은 JUnit 테스트에서 사용할 수 없다.
그 이유는 JUnit이 생성자에 다른 의존성을 주입하려고 먼저 개입을 하기 때문이라고 한다.
사용할 경우 아래와 같은 로그가 출력된다.
org.junit.jupiter.api.extension.ParameterResolutionException: No ParameterResolver registered for parameter [domain.menu.MenuRepository arg0] in constructor
package mngwserc.domain.menu;
import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
@SpringBootTest
class MenuRepositoryTest {
@Autowired
private MenuRepository menuRepository;
@Test
void testGetMenuList() {
menuRepository.findAll();
}
}