Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Mockito ArgumentCaptor为空_Java_Maven_Intellij Idea_Junit_Mockito - Fatal编程技术网

Java Mockito ArgumentCaptor为空

Java Mockito ArgumentCaptor为空,java,maven,intellij-idea,junit,mockito,Java,Maven,Intellij Idea,Junit,Mockito,我是初学者,请耐心点。:) 情景: 在IntelliJ/Maven上使用Mockito进行JUnit测试。 我试图用Java中的ArgumentCaptor读取传递的参数。问题是,这个捕获者本身是空的。绑架者似乎根本不起作用 @Captor private ArgumentCaptor<Invoice> cap; ... verify(invoiceDao).insert(cap.capture()); @Captor 私人辩手帽;

我是初学者,请耐心点。:)

情景: 在IntelliJ/Maven上使用Mockito进行JUnit测试。 我试图用Java中的ArgumentCaptor读取传递的参数。问题是,这个捕获者本身是空的。绑架者似乎根本不起作用

@Captor
    private ArgumentCaptor<Invoice> cap; 
    ...        
        verify(invoiceDao).insert(cap.capture());
@Captor
私人辩手帽;
...        
验证(invoiceDao).insert(cap.capture());
我怀疑问题在于,由于其他原因,我无法使用@ExtendWith(MockitoExtension.class)。(我在@beforeach方法中放置了一些存根,它会抛出不必要的存根异常。)

有没有一种不用@ExtendWith就可以使用这个ArgumentCaptor的方法?或者这不是我问题的根源


如果我在这里完全迷路了,我很抱歉。提前谢谢你的帮助

事实上,
@Captor
注释仅在启用Mockitor扩展时有效

但是您也可以在不使用
@Captor
注释的情况下手动初始化ArgumentCaptor:

ArgumentCaptor<Xxx> argumentCaptor = ArgumentCaptor.forClass(Xxx.class);
ArgumentCaptor ArgumentCaptor=ArgumentCaptor.forClass(Xxx.class);

或者,如果您只需要避免不必要的存根异常,您可以在
@extendedwith(MockitoExtension.class)
注释上方添加
@MockitoSettings(Stricness=Stricness.LENIENT)
,并继续使用@Captor/@Mock.

谢谢。我想这就是解决办法!:)