我知道简单模拟的规则之一是它不能注入(inject)静态和最终字段。
但是,
如果我有这样的代码:
public final class SomeClass
{
private static final AccessInternet accInternet = AccessInternetFactory.getimplmentation();
public static void startSomeWork()
{
final Customer cust = new CurrentCustomerDetails().getCurrent();
...
}
}
那么,在不重写代码本身的情况下,我可以为这样的类编写单元测试吗?有没有办法可以模拟客户并将其注入(inject)到 startSomeWork() 中?
使用 EasyMock 和 jUnit。
谢谢
最佳答案
你可以做这样的事情
Powermock.expectNew(Customer.class).andReturn(whateverSuitsYouAndCustomerClass).anyTimes();
Powermock.replayAll();
为我工作
祝你好运!
关于java - 使用 easymock 注入(inject)静态方法/字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28101457/