2015-01-23 1 views
0

Я знаю, что одним из правил для простого макета является то, что он не может вводить в статические и конечные поля.Ввод в статический метод/поле с помощью easymock?

Однако

, если у меня есть код, как:

public final class SomeClass 
{ 
    private static final AccessInternet accInternet = AccessInternetFactory.getimplmentation(); 

    public static void startSomeWork() 
    { 
    final Customer cust = new CurrentCustomerDetails().getCurrent(); 
    ... 
    } 
} 

Итак, без переписывания самого кода, который я могу написать модульный тест для такого класса? Есть ли способ, которым я могу издеваться над Клиентом и вводить его в startSomeWork()?

Использование EasyMock и jUnit.

Спасибо

ответ

1

Вы можете сделать что-то вроде этого

Powermock.expectNew(Customer.class).andReturn(whateverSuitsYouAndCustomerClass).anyTimes(); 
Powermock.replayAll(); 

работал для меня

Удачи!