Java 如何验证使用任何参数调用方法?

Java 如何验证使用任何参数调用方法?,java,junit,mockito,Java,Junit,Mockito,我想用Mockito验证()是否调用了方法。因为我不知道参数,所以我想用any()参数进行验证。可能吗?目前,我得到了“错误,想要x,却发现y”。 我不关心传递的参数,我只想知道是否调用了该方法。 提前谢谢 截至目前,我已尝试: when(userBean.getProfile().getLanguage().getValue()).thenReturn("fr"); verify((userBean), atLeastOnce()).getProfile().getLanguage().get

我想用Mockito验证()是否调用了方法。因为我不知道参数,所以我想用
any()
参数进行验证。可能吗?目前,我得到了“错误,想要x,却发现y”。 我不关心传递的参数,我只想知道是否调用了该方法。 提前谢谢

截至目前,我已尝试:

when(userBean.getProfile().getLanguage().getValue()).thenReturn("fr");
verify((userBean), atLeastOnce()).getProfile().getLanguage().getValue();
userBean被
RETURN\u DEEP\u STUBS
模拟。但是获取空指针异常。这可能是因为userBean是一个EJB?

如:

验证仅适用于链中的最后一个模拟。您可以使用验证模式

例如:

 /* BAD */ verify(userBean, atLeastOnce()).getProfile().getLanguage().getValue();
/* GOOD */ verify(userBean.getProfile().getLanguage(), atLeastOnce()).getValue();

(作为单独的答案添加,指向文档链接。)

显示您已尝试的内容。@Matsemann抱歉,已更新您要验证的方法是什么
getProfile()
getLanguage()
getValue()
?@DanTemple getValue,我已经解决了。它是为了验证(userBean.getProfile().getLanguage,atlestOnce()).getValue();如果你已经解决了,我不知道为什么。请关闭这些问题,这样其他人就不会浪费时间为你解决问题。