2012-10-16 3 views
0

단위 테스트에서 스프링에 의해 자동으로 실행되는 콩의 List을 어떻게 조롱 할 수 있습니까?autowired @ ResourceResource 목록

지금까지 내가 원하는 결과를 얻을 수 없었습니다. 그렇게 할 수있는 방법이 있습니까?

@Component 
public class CrmStatusChecker { 

    @Resource 
    private List<IsAliveEnabledComponent> components; 

    .... 
} 

테스트

@RunWith(MockitoJUnitRunner.class) 
public class CrmStatusCheckerTest { 

    @Mock 
    private List<IsAliveEnabledComponent> isAliveComponents; 

    @InjectMocks 
    private final CrmStatusChecker crmStatus = new CrmStatusChecker();; 

    @Before 
    public void setUp() { 
     MockitoAnnotations.initMocks(this); 
    } 

    ... 
} 

답변

1

체크 아웃 Springockito. 스프링 컨텍스트의 콩을 mock으로 대체 할 수 있습니다.

또 다른 문제는 유형 삭제시 List<IsAliveEnabledComponent>이 단지 List<Object>이됩니다. 그래서 당신은 단지 List을 조롱했습니다. 이것은 Mockito가 그것을 무시하는 이유 일 수 있습니다.

스프링 컨텍스트를로드하는 경우 Springockito를 사용합니다. 그렇지 않으면 모의 집합 IsAliveEnabledComponent을 만들고 그 목록을 만들고 설치 프로그램에서 설정기를 수동으로 호출합니다.

+0

그것은 Springockito 트릭을해야하지만, 그 너무 많은 문제가 :) IsAliveEnabledComponent을 조롱하고 수동으로 목록을 추가 끝내 보인다. –

관련 문제