我知道简单模拟的一个规则是它不能注入静态和最终字段。
然而,
如果我有以下代码:
public final class SomeClass
{
private static final AccessInternet accInternet = AccessInternetFactory.getimplmentation();
public static void startSomeWork()
{
final Customer cust = new CurrentCustomerDetails().getCurrent();
...
}
}
因此,如果不重写代码本身,我可以为这样的类编写单元测试吗?有没有办法可以模拟客户并将其注入startSomeWork()?
使用EasyMock和jUnit。
谢谢
答案 0 :(得分:1)
你可以做这样的事情
Powermock.expectNew(Customer.class).andReturn(whateverSuitsYouAndCustomerClass).anyTimes();
Powermock.replayAll();
为我工作
祝你好运!