gpt4 book ai didi

java - 如何使用 arg 'T value' 模拟方法?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:56:18 24 4
gpt4 key购买 nike

我有这样的方法:

<T extends Entity> boolean putObject(T value);

但是找不到如何使用 mockito 模拟它? anyObject() 和 any() 产生错误:

org.mockito.exceptions.misusing.InvalidUseOfMatchersException: 
Invalid use of argument matchers!
1 matchers expected, 3 recorded.

模拟:

when(service.putObject(any(ProcessingTransaction.class))).thenReturn(true);

它是如何工作的?

最佳答案

最有可能的是,您有一个或两个格式不正确的 Mockito 方法调用,在您的测试较早的某个地方(甚至在以前的测试中)。当您调用 Mockito 方法来创建参数匹配器(如 any())时,匹配器会添加到内部数据结构中。然后在实际使用时将其删除。

Mockito 找到了三个参数匹配器而不是一个,这一事实表明您制作了一些参数匹配器但没有使用它们。例如,如果您使用 when(...) 而没有使用 thenReturn(),则可能会发生这种情况;但还有很多其他情况。

如果您需要帮助找出您做错了什么,您需要发布更多测试代码。

关于java - 如何使用 arg 'T value' 模拟方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12034884/

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