Mockito - 验证方法有什么作用



假设我有以下类似伪的测试代码:

 //Let's import Mockito statically so that the code looks clearer
 import static org.mockito.Mockito.*;
 //mock creation
 List mockedList = mock(List.class);
 //using mock object
 mockedList.add("one");
 mockedList.clear();
 //what do these two verify methods do ?
 verify(mockedList).add("one");
 verify(mockedList).clear();

我一直显示测试通过,但我不知道验证是什么意思? 它到底在验证什么?我知道我模拟了一个呼叫来添加和清除,但是两个验证呼叫有什么作用?

Mockito.verify(MockedObject).someMethodOnTheObject(someParametersToTheMethod);验证是否确实调用了对模拟对象调用的方法。如果未调用它们,或者使用错误的参数调用它们,或者调用错误的次数,则它们将无法通过测试。

它断言调用了该方法,并带有这些参数。

注释掉:

//mockedList.add("one");

或者更改其参数,测试将失败。

Mockito中的verify()方法用于检查是否调用了对象的方法。它用于确保使用某些参数、调用次数等调用该方法。

// Example:
// Create a mock object of a class 
MyClass mockClass = Mockito.mock(MyClass.class); 
// Call a method on the mock object 
mockClass.doSomething(); 
// Verify that the doSomething() method was called 
Mockito.verify(mockClass).doSomething();

相关内容

  • 没有找到相关文章

最新更新