gpt4 book ai didi

java - 配置 mockito 以在验证错误消息中打印实际参数值

转载 作者:搜寻专家 更新时间:2023-11-01 03:55:20 24 4
gpt4 key购买 nike

在描述失败的验证时,默认情况下 Mockito 仅打印发生交互的调用站点。像这样:

    Wanted but not invoked:
proxyListener.foundTemplateParam(
"fooBar2",
isNull(),
isNull()
);
-> at foo.ProxyHandlerTest.testThatImplicitParamsScannedCorrectly(ProxyHandlerTest.java:136)

However, there were other interactions with this mock:
-> at foo.ProxyHandler.<init>(ProxyHandler.java:99)
-> at foo.ProxyHandler.<init> (ProxyHandler.java:100)
-> at foo.ProxyHandler.scanForParamSetters(ProxyHandler.java:222)
-> at foo.ProxyHandler.<init>(ProxyHandler.java:102)
-> at foo.ProxyHandler.<init>(ProxyHandler.java:104)

这是有用的信息,但我还想看看在这些交互过程中传递了哪些参数。有办法实现吗?

P. S. 我知道使用 withSettings().verboseLogging() 进行模拟。但它太冗长了,打印到标准输出而不是将此信息添加到断言错误消息中。

更新:Mockito 1.9.0 不支持开箱即用的异常错误消息自定义(我刚刚检查了它们的来源)。

最佳答案

最安全的做法是打印参数并返回给定值的答案。

然后你可以这样写:

given(some.callWith(arg1, arg2)).will(printArgsAndReturn("some value"));

其中 printArgsAndReturn("some value") 实际上返回您的自定义答案。

关于java - 配置 mockito 以在验证错误消息中打印实际参数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8934590/

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