【发布时间】:2016-09-01 09:04:40
【问题描述】:
我正在尝试模拟一个界面。
public interface FlowCopyParamsBusinessManager {
List<FlowCopyParams> findByAppli(String application, String sourcePattern)
throws FlowCopyParamsBusinessException;
}
在我的代码中,当我调用这个方法 findByAppli 时,我想返回一个 FlowCopyParams 列表。
List<FlowCopyParams> lstFlowCopyParams = flowCopyParamsBusinessManager.findByAppli(
"TOTO","TATA);
这是我在课堂测试中的尝试:
@BeforeClass
public static void mockBeanIn() throws Exception {
List<FlowCopyParams> flowCopyParamsList = new ArrayList<>();
PowerMockito.spy(FlowCopyParamsBusinessManager.class);
PowerMockito.when(FlowCopyParamsBusinessManager.class, "findByAppli", Mockito.anyString(), Mockito.anyString()).thenReturn(flowCopyParamsList);
}
我有这个错误:
java.lang.IllegalArgumentException: object is not an instance of declaring class
我不知道为什么,因为 findByAppli 方法必须有两个字符串参数,而我放了 Mockito.anyString(),我仍然有 IllegalArgumentException。
有什么线索吗?
谢谢。
【问题讨论】:
标签: java unit-testing mockito powermock