- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有这段代码要进行单元测试:
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)中考虑了
作为一个未 stub 的调用,这就是它失败的原因,解决方案是使用:get
的“调用” enum value*);verifyNoMoreInteractions(ignoreStubs(mockFoos.toArray()))
关于java - 迭代模拟集合时 verifyNoMoreInteractions 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52686902/
当多次在模拟上调用相同的方法时,Mockito 似乎错误地解释了 verifyNoMoreInteractions()。在下面的示例中,someInterface.doSomething(param)
我有这段代码要进行单元测试: public void method(Set fooList){ for (Foo f : fooList) { EnumClass i = f.g
我想确保每个测试都验证与其模拟的所有交互,所以我只是添加了一个用 @After 注释的方法,带有 verifyNoMoreInteractions,所有模拟作为参数。 @After public vo
当我排除 verifyNoMoreInteractions(daoInteractor) 行时,我的测试将通过。我认为像我所做的那样在测试结束时放置 verifyNoMoreInteractions(
Mockito 中的 verifyNoMoreInteractions 和 verifyZeroInteractions 有什么区别?两者是同一种方法吗? 最佳答案 显然,verifyZeroInte
我是一名优秀的程序员,十分优秀!