2016-11-07 2 views
0

저는 JMockit을 처음 접했고 두 번째로 실행될 때 자바 메소드를 조롱하고 그것이 호출되었을 때 처음 무시합니다.JMockit - 2 번 모의 처음으로 무시하기

예 아래에 "두 번째 시간"이 표시된 문자열을 반환하고 다른 작업을 수행 할 때 runningMethod()를 조롱하려고합니다.

@Mock publicMethod() 
{ 
//do something if calling runningMethod() 2nd time. 
} 


int count = 1; 
public String runningMethod() 

{ 

if (count == 1) return "first time"; 

if (count == 2) return "second time"; 

i++; 

return "some answers"; 
} 

친절히 지원합니다.

당신은 당신의 답변을 찾을 수 있습니다

답변

0

:

public interface ExpectationsCollaborator{ 
    String methodReturnsString(); 
    int methodReturnsInt(); 
} 

@Test 
public void testResultAndReturns(@Mocked Foo mock){ 
    new StrictExpectations() {{ 
     mock.methodReturnsString(); 
     result = "foo"; 
     result = new Exception(); 
     result = "bar"; 
     mock.methodReturnsInt(); result = new int[] { 1, 2, 3 }; 
     mock.methodReturnsString(); returns("foo", "bar"); 
     mock.methodReturnsInt(); result = 1; 
    }}; 

    assertEquals("Should return foo", "foo", mock.methodReturnsString()); 
    try { 
     mock.methodReturnsString(); 
    } catch (Exception e) { } 

    assertEquals("Should return bar", "bar", mock.methodReturnsString()); 
    assertEquals("Should return 1", 1, mock.methodReturnsInt()); 
    assertEquals("Should return 2", 2, mock.methodReturnsInt()); 
    assertEquals("Should return 3", 3, mock.methodReturnsInt()); 
    assertEquals("Should return foo", "foo", mock.methodReturnsString()); 
    assertEquals("Should return bar", "bar", mock.methodReturnsString()); 
    assertEquals("Should return 1", 1, mock.methodReturnsInt()); 
} 
: 여기 http://www.baeldung.com/jmockit-expectations

을하지만 해당 게시물에서 관련 코드는