相关疑难解决方法(0)

如何使用不同的参数验证多个方法调用

我有以下方法,我希望验证行为

public void methodToTest( Exception e, ActionErrors errors ) {

    ...
        errors.add( "exception.message", 
                    ActionMessageFactory.createErrorMessage(e.toString() ));

        errors.add( "exception.detail",
                    ActionMessageFactory.createErrorMessage(e.getStackTrace()[0].toString() ));

    ...
}
Run Code Online (Sandbox Code Playgroud)

在我的@Test类中,我希望做这样的事情,以验证errors.add()是用"exception.message"调用,再用"exception.detail"调用

verify(errors).add(eq("exception.message"), any(ActionError.class));
verify(errors).add(eq("exception.detail"), any(ActionError.class));
Run Code Online (Sandbox Code Playgroud)

但Mockito抱怨​​如下

Argument(s) are different! Wanted:
actionErrors.add(
    "exception.message",
    <any>
);

Actual invocation has different arguments:
actionErrors.add(
    "exception.detail",
    org.apache.struts.action.ActionError@38063806
);
Run Code Online (Sandbox Code Playgroud)

我怎么能告诉Mockito检查这两个值?

java mockito

99
推荐指数
6
解决办法
7万
查看次数

标签 统计

java ×1

mockito ×1