2011-01-31 4 views
3

PowerMock (Mockito 사용)을 사용할 때 클래스의 모든 정적 메서드를 조롱해야합니까?PowerMock Mockito : 모든 정적 메서드를 조롱하는 방법?

class MockMe { 
    public static MockMe getInstance(){ 
       //return new Instance via complex process; 
    } 

    public static List<X> anotherStaticMethod(){ 
     // does xyz 
    } 
} 

내 질문에, 내가 getInstance 메소드를 조롱해야하는 경우, 그것은뿐만 아니라 "anotherStaticMethod"를 조롱하는 것이 필요하다 : 나는 우리가 있다고 가정 의미?

PowerMock 버전 : 1.3, Mockito 버전 : 1.8

답변

6

이 아니 당신이 PowerMockito에 spy를 사용하여 부분적인 조롱을 사용할 수 있습니다.

stub(method(MockMe.class, "getInstance")).toReturn(myMockMeInstance); 
0

어떻게 조롱하고 스텁 정적 메서드 비웃음 : 아니면 스터 빙 API를 사용할 수

클래스 수준에서 @PrepareForTest을 추가합니다.

@PrepareForTest(Static.class) // Static.class contains static methods 

전화 PowerMockito.mockStatic() 정적 클래스를 조롱 (특정 방법을 모의 PowerMockito.spy (클래스)를 사용) :

Mockito.when(Static.firstStaticMethod(param)).thenReturn(value); 
:

PowerMockito.mockStatic(Static.class); 

그냥 설치에 기대를 Mockito.when()를 사용

관련 문제