Java 论点捕获者莫基托

Java 论点捕获者莫基托,java,unit-testing,mockito,Java,Unit Testing,Mockito,我一直在读一些关于辩论捕获者的书,读得越多,我就越迷路。有人能用一个例子来解释它吗?根据文档,这是不推荐的。您应该使用工厂方法forClass(Class)来创建捕获器,以避免NullPointerException。看 例如: ArgumentCaptor<Person> argument = ArgumentCaptor.forClass(Person.class); verify(mock).doSomething(argument.capture()); asse

我一直在读一些关于辩论捕获者的书,读得越多,我就越迷路。有人能用一个例子来解释它吗?

根据文档,这是不推荐的。您应该使用工厂方法forClass(Class)来创建捕获器,以避免NullPointerException。看

例如:

  ArgumentCaptor<Person> argument = ArgumentCaptor.forClass(Person.class);
  verify(mock).doSomething(argument.capture());
  assertEquals("John", argument.getValue().getName());
ArgumentCaptor argument=ArgumentCaptor.forClass(Person.class);
验证(mock).doSomething(argument.capture());
assertEquals(“John”,argument.getValue().getName());

谢谢你提供的信息,Rachel,但我更感兴趣的是了解它是如何工作的。在读了几篇博客后,我对什么是正确的使用方式感到困惑。所以,我希望你能用一个例子来解释,那太好了。谢谢你应该读这个类似的问题,谢谢,这很有帮助。在我搜索时从未出现过。ArgumentCaptor类的无参数构造函数已被弃用。辩论捕获者本身当然不会受到反对。事实上,它们是一种非常有用的技术