我想在单元测试中模拟遗留对象。这是构造函数:
public Class LegacyClass{
public LegacyClass(Object... obj) {
super(obj);
}
}
我尝试使用powerMock来模拟它:
whenNew(LegacyClass.class).withParameterTypes(Object.class).
withArguments(anyString(), anyString()).thenAnswer(new Answer<Object>(){
...//Answer impl code
});
以下是问题:
答案 0 :(得分:3)
使用Object[].class
访问varargs参数的参数类型:
PowerMockito.whenNew(LegacyClass.class)
.withParameterTypes(Object[].class)
.withArguments(Mockito.anyString(), Mockito.anyString())
.thenAnswer(new Answer<Object>() {
public Object answer(InvocationOnMock invocation)
throws Throwable {
// your code
}
});
我测试过,这也适用于@Before
方法。