2014-10-18 1 views
1

콜백 (동일한 스레드에서 발생하는)이 실행되고 가장 먼저 실행되도록하는 가장 깨끗하고 빠른 방법을 찾으려고합니다.JUnit에서 콜백/리스너가 호출 된 것으로 가정합니다.

class Called { 
     boolean value; 
    } 

    ... 
    Called called = new Called(); 
    object.execute(new Listener() { 
     public void onExecuted() { 
      assertFalse(called.value); 
      called.value = true; 
     } 
    } 
    assertTrue(called.value); 
    ... 

것을이수록 좋은가요 :

내 최선의 노력이 같은 외모?

답변

2

사용 mockito :

import org.mockito.Mockito.*; 

... 

@Test 
public void Test { 
    Listener listener = mock(Listener.class); 

    object.execute(listener); 

    verify(listener).onExecuted(); 
} 
+0

완벽한, 감사 –

관련 문제