我正在使用 Mockito (1.9.5),并陷入第一个简单的测试用例:
List mockedList = mock(ArrayList.class);
assertEquals(0, mockedList.size()); // Passed
assertTrue(mockedList.isEmpty()); // Failed
谁能解释一下为什么这里 isEmpty() 返回 false 而 size() 返回 0 吗?
最佳答案
我认为发生这种情况是因为mockito不知道isEmpty()
的语义,并且当它遇到 boolean 方法时,会使用默认值false
来模拟它。同样的想法也适用于 size()
,但这里的默认值为 0
。
基本上,您需要定义模拟对象的预期行为。如果不这样做,它将返回默认值。
关于java - 使用 Mockito isEmpty 的模拟列表始终返回 false,即使大小为 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11049245/