반응형
    
    
    
  테스트중 아래와 같은 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 | 
