2010-07-13 4 views
2

Я хочу проверить некоторые базовые службы с помощью PowerMock, но это сложно.тестирование класса, возвращающего службу с использованием powermock?

Я хотел бы получить ваше предложение

public interface Service{ 
    public void someMethod(){ 
    } 
} 
public ServiceClient implements Service { 
... 
} 
public MyServiceClient { 
public Service getService(){ 
    return service; 
} 
} 

Я написал ServiceUtil, который использует MyServiceClient для вызова и получает услуги.

public class ServiceUtil { 
private static service s = MyServiceClient.getService(); 
public void updateService(){ 
    // do some thing with service 
} 
} 

Теперь я хочу протестировать метод ServiceUtil - updateService. Как мне это сделать?

ответ

0

Возможно, вы хотите ввести макетную версию сервиса. Это можно сделать так:

service mockService = Mockito.mock(service.class); 
Whitebox.setInternalState(serviceutil.class, mockService); 

Вы можете прочитать больше о обходе инкапсуляции здесь: http://code.google.com/p/powermock/wiki/BypassEncapsulation

Смежные вопросы