mockito间谍的行为和我想象的不一样

k97glaaz  于 2021-07-24  发布在  Java
关注(0)|答案(0)|浏览(224)

我想在考试中用间谍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方法。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题