gpt4 book ai didi

java - 为什么我在这里得到 InvalidUseOfMatchersException?

转载 作者:行者123 更新时间:2023-11-30 08:48:03 26 4
gpt4 key购买 nike

我的测试用例出现以下错误:

junit.framework.AssertionFailedError: Exception occured :
org.mockito.exceptions.misusing.InvalidUseOfMatchersException:
Invalid use of argument matchers!
2 matchers expected, 1 recorded:

这是我的一段代码:

Mockito.when(mockHelloPeristenceImpl.retrieveHellorequest(Mockito.anyLong()))
.thenReturn(Mockito.any(Hellorequest.class));

针对此问题,我尝试了互联网上建议的所有选项,但均无济于事。怎么了?

最佳答案

您不能以您正在执行的方式返回 Matcher。您必须指定要返回的实际对象。要么做这样的事情:

Mockito.when(mockHelloPeristenceImpl.retrieveHellorequest(Mockito.anyLong()))
.thenReturn(Mockito.mock(Hellorequest.class));

或者,给它一个回答策略,例如

Mockito.when(mockHelloPeristenceImpl.retrieveHellorequest(Mockito.anyLong()))
.then(Mockito.RETURNS_MOCKS);

顺便说一句,您的代码可以通过使用更短:

import static org.mockito.Mockito.*;

那么您的测试语句将是:

when(mockHelloPeristenceImpl.retrieveHellorequest(anyLong()))
.then(RETURNS_MOCKS);

关于java - 为什么我在这里得到 InvalidUseOfMatchersException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32143418/

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