gpt4 book ai didi

java - 迭代模拟集合时 verifyNoMoreInteractions 失败

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:46:33 26 4
gpt4 key购买 nike

我有这段代码要进行单元测试:

public void method(Set<Foo> fooList){
for (Foo f : fooList) {
EnumClass i = f.get();
}
}

我在 Mockito 中有这个测试代码:

Collection<Foo> mockFoos = Sets.newHashSet(mockFoo1, mockFoo2);
when(mockFoo1.get()).thenReturn(*some enum value*);
when(mockFoo2.get()).thenReturn(*some enum value*);
...
verifyNoMoreInteractions(mockFoos.toArray())

由于某种原因,测试失败了,我还尝试添加日志记录和模拟,唯一记录的交互是对 get 的调用。

我认为这不重要,但 Foo 从其他类扩展而来。

最佳答案

通过使用ignoreStubs解决了它,mockito似乎在when(mockFoo1.get()).thenReturn(*some)中考虑了get的“调用” enum value*); 作为一个未 stub 的调用,这就是它失败的原因,解决方案是使用:verifyNoMoreInteractions(ignoreStubs(mockFoos.toArray()))

关于java - 迭代模拟集合时 verifyNoMoreInteractions 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52686902/

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