2013-06-17 3 views
0

개인 정보를 조롱하는 방법에 대한 기사를 찾으려고합니다. 실제로 우리는 프로젝트에서 mockito를 사용하지만 테스트 커버리지는 매우 낮습니다. 그래서 나는 Mockito와 PowerMock으로 글을 쓰려고했지만 좋은 예를 찾을 수 없다. 아무도 이것에 대해 설명 할 수 있습니까?Mockito 개인 정보 수집 방법

+3

왜 개인 방법을 모의하고 싶습니까? 이것은 대개 나쁜 생각입니다. –

+0

개인 메서드를 조롱해야한다고 생각하면 테스트하려는 공용 메서드의 동작이 변경되고 있음을 의미합니다. 따라서 유효한 테스트를 작성하지 않았을 가능성이 큽니다. 실제로 달성하고자하는 것에 대한 자세한 내용을 게시 할 수 있으며 누군가가 테스트에 있어야 할 대상에 대해 좀 더 자세한 도움이나 조언을 제공 할 수 있습니다. 그러나 비공개 방법을 조롱하는 것은 클래스에 대한 좋은 테스트의 일부는 아닙니다. 이것이 Mockito가이 기능을 제공하지 않는 이유입니다. –

답변

3

나는 이것이 PowerMock의 일이라고 생각한다. 나는 Mockito가 그것을 할 수 있는지 의심 스럽다. The PowerMock documentation explains how to do it. 그리고 예를 들어 이것을 사용합니다 :

@Test 
public void testReplaceData() throws Exception { 
     final String modifyDataMethodName = "modifyData"; 
     final byte[] expectedBinaryData = new byte[] { 42 }; 
     final String expectedDataId = "id"; 

     // Mock only the modifyData method 
     DataService tested = createPartialMock(DataService.class, modifyDataMethodName); 

     // Expect the private method call to "modifyData" 
     expectPrivate(tested, modifyDataMethodName, expectedDataId, 
         expectedBinaryData).andReturn(true); 

     replay(tested); 

     assertTrue(tested.replaceData(expectedDataId, expectedBinaryData)); 

     verify(tested); 
}