在mockito测试中获取“检测到错误放置或误用的参数匹配器”

u5i3ibmn  于 11个月前  发布在  其他
关注(0)|答案(1)|浏览(67)

我有以下单元测试:

@InjectMocks
private PaymentTicketService paymentTicketService;

@Test
public void blahblahTest() {

    ...

    String spokesmanDocumentNumber = "47246536809";
    PaymentTicketPdfResponse paymentTicketPdfResponse = Fixture.from(...).gimme(...);
   
    when(paymentTicketService.generatePaymentTicket(any(GeneratePaymentTicketRequest.class), spokesmanDocumentNumber)).thenReturn(paymentTicketPdfResponse);

    ...
}

字符串
测试方法是这样的:

public PaymentTicketPdfResponse generatePaymentTicket(GeneratePaymentTicketRequest generateBankTicketRequest, String spokesmanDocumentNumber) {
    ...
}


我在测试的'when'子句中得到一个Misplaced or misused argument matcher detected错误。它说我不能在验证或存根之外使用参数匹配器。我真的不明白这个错误,因为我传递任何(GeneratePaymentTicketRequest.class)和一个实际字符串到模拟的方法。
我哪里做错了?

33qvvth1

33qvvth11#

你不能混合使用匹配器和实际值。将值 Package 在匹配器中:
第一个月

相关问题