我想在考试中用间谍Mockito。这是我的密码:
@Spy
AddressServiceImpl service;
@InjectMocks
AddressController controller;
@Test
void loadAddresses(){
User user = new User();
Address address1 = new Address(user,"2345", "5678", "7890", "test@gmail.com", "street");
Address address2 = new Address(user,"9876", "7654", "6543", "test2@gmail.com", "avenue");
service.save(address1);
service.save(address2);
List<Address> searchAdress = new ArrayList<>();
given(service.findByEmailContaining(anyString())).willCallRealMethod();
searchAdress = controller.loadAddress(address1);
}
在我的控制器中:
private AddressService addressService;
public List<Address> loadAddress(Address address){
List<Address> theAddresses = new ArrayList<>();
theAddresses = addressService.findByEmailContaining("%"+ address.getEmail() + "%");
return theAddresses;
}
我希望控制器通过address1.getemail()搜索我保存的地址(address1,address2),并返回address1对象。但它什么也不回。
实际上,service.save(address1)返回空对象,而不是address1。
此方法从jpa存储库调用save方法。
暂无答案!
目前还没有任何答案,快来回答吧!