Tôi đang cố gắng giả lập một giao diện.Làm thế nào để giả lập một giao diện Java PowerMockito
public interface FlowCopyParamsBusinessManager {
List<FlowCopyParams> findByAppli(String application, String sourcePattern)
throws FlowCopyParamsBusinessException;
}
Trong mã của tôi, khi tôi gọi phương pháp này findByAppli, tôi muốn trả về một danh sách các FlowCopyParams.
List<FlowCopyParams> lstFlowCopyParams = flowCopyParamsBusinessManager.findByAppli(
"TOTO","TATA);
đây cố gắng của tôi trong các thử nghiệm lớp:
@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);
}
Tôi có lỗi này:
java.lang.IllegalArgumentException: object is not an instance of declaring class
Tôi không biết tại sao, vì phương pháp findByAppli phải có hai tham số chuỗi, và tôi đặt Mockito.anyString() và tôi vẫn có IllegalArgumentExcepti trên.
Bất kỳ đầu mối nào?
Thxs.
Tôi thậm chí không biết gián điệp nào cụ thể. – Kikou
Spy cho phép bạn sử dụng các phần (phương pháp) của việc triển khai bê tông gốc của đối tượng trong khi giả lập sẽ không cung cấp bất kỳ triển khai ban đầu nào. – UserF40