Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.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 将Matchers.eq()与其他模拟值一起使用时InvalidUseOfMatcherException_Java_Junit_Mockito_Powermockito - Fatal编程技术网

Java 将Matchers.eq()与其他模拟值一起使用时InvalidUseOfMatcherException

Java 将Matchers.eq()与其他模拟值一起使用时InvalidUseOfMatcherException,java,junit,mockito,powermockito,Java,Junit,Mockito,Powermockito,在我的JUnit类中,我有以下代码: @Mock private HttpServletRequest servletRequest; @Mock WidgetHelper widgetHelper; @Mock JSONObject jsonObject; @Mock Date date; verify(widgetHelper, times(1)).invokeAuditService(servletRequest, date, anyString(),

在我的JUnit类中,我有以下代码:

@Mock
private HttpServletRequest servletRequest;

@Mock
WidgetHelper widgetHelper;

@Mock
JSONObject jsonObject;

@Mock
Date date;

verify(widgetHelper, times(1)).invokeAuditService(servletRequest, date, anyString(), 
                        Matchers.eq("Member_Servicing_Email_Update"), jsonObject, anyString());
我得到以下输出:

如果匹配器与原始值组合,则可能发生此异常:
//不正确:
someMethod(anyObject(),“原始字符串”);
使用匹配器时,所有参数都必须由匹配器提供。
例如:
//正确:
someMethod(anyObject(),eq(“匹配器字符串”);

我想实现的是:我想测试该方法的第4个参数是否包含字符串
“Member\u Servicing\u Email\u Update”
。其余的参数可以被模拟。我为其他人使用了
Matchers.anyObject()
,我得到的错误是
无法将任何对象与java.lang.String、Date、HttpServlet等匹配。这里需要做什么?我还刚刚输入了
eq(“会员服务电子邮件更新”)
,但未识别
eq

添加
匹配器。对于所有原始参数,eq

verify(widgetHelper, times(1)).invokeAuditService(Matchers.eq(servletRequest), Matchers.eq(date), anyString(), 
                Matchers.eq("Member_Servicing_Email_Update"), Matchers.eq(jsonObject), anyString());
使用匹配器时,所有参数必须由匹配器提供


为所有原始参数添加
Matchers.eq

verify(widgetHelper, times(1)).invokeAuditService(Matchers.eq(servletRequest), Matchers.eq(date), anyString(), 
                Matchers.eq("Member_Servicing_Email_Update"), Matchers.eq(jsonObject), anyString());
使用匹配器时,所有参数必须由匹配器提供


您需要为所有参数使用匹配器或具体值。您不能像这样混合它们。您需要对所有参数使用匹配器或具体值。您不能像这样混合它们。PowerMockito.doNothing().when(widgetHelper)。invokeAuditService(Matchers.eq(servletRequest)、Matchers.eq(date)、anyString()、Matchers.eq(“成员服务\电子邮件\更新”)、Matchers.eq(jsonObject)、anyString();验证(widgetHelper,times(1)).invokeAuditService(Matchers.eq(servletRequest)、Matchers.eq(date)、anyString()、Matchers.eq(“成员服务、电子邮件更新1”)、Matchers.eq(jsonObject)、anyString();这段代码给了我一个未完成的存根异常。这里是invokeAuditService方法void@Coder17你能问一个新问题吗?PowerMockito.doNothing().when(widgetHelper).invokeAuditService(Matchers.eq(servletRequest),Matchers.eq(date),anyString(),Matchers.eq(“成员服务\电子邮件\更新”),Matchers.eq(jsonObject),anyString();验证(widgetHelper,times(1)).invokeAuditService(Matchers.eq(servletRequest)、Matchers.eq(date)、anyString()、Matchers.eq(“成员服务、电子邮件更新1”)、Matchers.eq(jsonObject)、anyString();这段代码给了我一个未完成的存根异常。这里是invokeAuditService方法void@Coder17你能问一个新问题吗?