如何验证正在使用junit测试的方法中n次调用存储库?

时间:2018-11-22 11:24:54

标签: java junit mockito repository

在执行以下方法期间,我找不到任何方法来验证impegnoAmmessoRepo.save(item_old)是否已被N次调用:

public void deleteOldImpegniAmmessi(List<ProgettoImpegnoAmmesso> newList, Integer idPagamento ) {

    List <ProgettoImpegnoAmmesso> all_items = impegnoAmmessoRepo.findAllByIdImpegnoIdImpegno(idPagamento);

    for (ProgettoImpegnoAmmesso item_old : all_items ) {
        if(! newList.contains(item_old)) {
            item_old.setFlagValido(ValidFlagType._NOT_VALID.validity());
            item_old.setDataFine(new Date());
            impegnoAmmessoRepo.save(item_old);
        }
    }
}

我知道我必须在存储库中使用批注@Mock并使用方法verify(),但是我不知道如何将其用于方法({{1} })在另一个正在调用的方法(save())中调用。

1 个答案:

答案 0 :(得分:0)

您可以通过验证功能执行以下操作:

Mockito.verify(impegnoAmmessoRepo,Mockito.times(N)).save(any(ProgettoImpegnoAmmesso .class));

times功能将帮助您做到这一点