반응형
테스트중 아래와 같은 Service 가 있을수 있다.
@Service
public class AService{
@Autowired
BRepository bRepository;
@Autowired
CRepository cRepository;
.
.
.
@Autowired
ZRepository zRepository;
}
이 경우에 보통 Spring 을 구동하여 mock bean을 등록하여 테스트를 진행한다.
하지만 시간도 오래 걸리고 그렇기 때문에 리플렉션을 통해 mock bean을 생성하여 사용할 수 있다.
import static org.mockito.Mockito.*;
@Test
public void ATest(){
AService aService = new AService();
BRepository bRepository = mock(BRepository.class);
Field filed = AService.class.getDeclaredField("bRepository");
filed.setAccessible(true);
filed.set(aService, bRepository);
.
.
.
// 테스트 실행
}
반응형
'IT > JAVA' 카테고리의 다른 글
Filter 를 활용한 ACL 만들기 (feat. Spring) (0) | 2019.11.15 |
---|---|
Spring Boot Resource 사용시 접두사(classpath, file 등)를 사용해야 하는 이유 (2) | 2019.10.25 |
스택 계산기-(후위연산식을 통해 계산기를 만들어 보자!) (0) | 2019.10.10 |
후위연산식을 이용한 스택 계산기-(중위에서 후위 변경 step.1) (0) | 2019.10.10 |
다중 버전 jdk 설정 Bash Shell (0) | 2019.05.21 |