使用easymock注入静态方法/字段?

时间:2015-01-23 01:04:23

标签: java unit-testing mocking powermock 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 个答案:

答案 0 :(得分:1)

你可以做这样的事情

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

为我工作

祝你好运!