Java 6, JUnit 4.8.1 및 콘솔 응용 프로그램 작성 중입니다. 내 응용 프로그램 내 서비스에서 하나 개의 메소드가 호출 될 때마다 (예를 들어, m_oppsSvc.getResults()
)이 같은 결과는 항상 반환되도록 행동을 조롱하려는 노출되지 않은 멤버 필드 ...Java : 해당 필드가 노출되지 않은 경우 필드의 메소드를 조롱하려면 어떻게해야합니까?
public class MyApp {
...
private OpportunitiesService m_oppsSvc;
private void initServices() {
…
m_oppsSvc = new OpportunitiesServiceImpl(…);
}
...
}
있습니다. 어떻게해야합니까? 이 필드에는 세터 메소드가 없습니다. 현재 Mockito 1.8.4와 협력 중입니다. Mockito 또는 다른 모의 프레임 워크를 사용하여이 작업을 수행 할 수 있습니까?
당신이 아닌 setter 메소드를 만들 수는? – jrad
[어떻게 단위 테스트 개인 방법합니까?] (http://programmers.stackexchange.com/questions/100959/how-do-you-unit-test-private-methods) 가능한 중복? –
테스트 할 대상은 무엇입니까? 'getResults()'public입니까? 그것과 관련된 개인 필드가 있거나 런타임에 계산됩니까? 답변에 따라 '스파이'를 사용하거나 조롱하는 것과 관련이 없을 수도 있습니다. 그리고 'org.springframework.test.util.ReflectionTestUtils'와 같은 것을 사용하여 비공개 필드를 가치. – jhericks