Mockito用参数captor抛出无效的matchersexception



我正在尝试使用Mockito的ArgumentCaptor类捕获一些参数,然后对其进行一些验证。但这是一个例外。

这是将其打印为错误消息的内容。

org.mockito.exceptions.misusing.invaliduseofmatchersexception: 参数匹配者的使用无效! 0个匹配项预期,1个记录:

以下是抛出例外的代码。

    //Arrange
    int amount = 100;
    DonationTransaction transaction = getPendingTransaction(player, amount);
    when(mockDonationTransactionDAO.getPendingTransactions(player)).thenReturn(Arrays.asList(transaction));
    ArgumentCaptor<DonationAttribution> argumentCaptor = ArgumentCaptor.forClass(DonationAttribution.class);
    //Act
    donationService.applyPendingDonations(player, playerDTO);
    //Assert
    verify(mockDonationAttributionDAO).save(argumentCaptor.capture()); //Exception here
    ...

我正在使用Junit5和Mockito版本2.7.22。

不确定我在这里是否缺少明显的东西。

我的donationAttributiondao如果对任何东西有所帮助,并且在抽象类中定义了保存方法,则扩展了一个抽象的dao,该类别以参数为参数,我要捕获的参数的基类。

save((方法是静态的或最终的。因此,您不能嘲笑它。您可以尝试使用PowerMock(请参阅Mockito -0匹配器预期,1个记录(InvaliduseOfMatchersException((。

相关内容

  • 没有找到相关文章

最新更新