gpt4 book ai didi

java - 将 Matchers.eq() 与其他模拟值一起使用时出现 InvalidUseOfMatchersException

转载 作者:太空宇宙 更新时间:2023-11-04 09:11:20 25 4
gpt4 key购买 nike

在我的 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());

我得到以下输出:

This exception may occur if matchers are combined with raw values:
//incorrect:
someMethod(anyObject(), "raw String");
When using matchers, all arguments have to be provided by matchers.
For example:
//correct:
someMethod(anyObject(), eq("String by matcher"));

我想要实现的目标是:我想测试该方法的第四个参数是否包含字符串“Member_Servicing_Email_Update”。其余的论点都可以被 mock 。我为其他人使用 Matchers.anyObject() ,但收到错误消息 cannot match anyObject to java.lang.String, Date, HttpServlet 等。这里需要做什么?我也刚刚输入了 eq("Member_Servicing_Email_Update")eq 未被识别。

最佳答案

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

verify(widgetHelper, times(1)).invokeAuditService(Matchers.eq(servletRequest), Matchers.eq(date), anyString(), 
Matchers.eq("Member_Servicing_Email_Update"), Matchers.eq(jsonObject), anyString());

When using matchers, all arguments have to be provided by matchers

关于java - 将 Matchers.eq() 与其他模拟值一起使用时出现 InvalidUseOfMatchersException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59641780/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com