Mockito 是一个用于 Java 的测试框架,它可以轻松地模拟(mock)对象和类。
when(mockObject.method(argument)).thenAnswer(invocation -> { return value; });
?这句话的意思是:当 mockObject.method(argument) 被调用时,返回一个给定的值。
其中,mockObject 是被模拟的对象,method 是被模拟的方法,argument 是传入该方法的参数,value 是要返回的结果。
示例:
csharp
复制代码
List mockedList = mock(List.class); when(mockedList.get(0)).thenReturn("first"); System.out.println(mockedList.get(0)); // prints "first"
when(mockedList.get(0)).thenReturn("first");
?这句话的意思是:当 mockedList.get(0) 被调用时,返回 "first"。
如果你想要返回一个异常,可以使用 thenThrow(...) 方法。
示例:
scss
复制代码
List mockedList = mock(List.class); when(mockedList.get(0)).thenThrow(new RuntimeException());
这样当调用mockedList.get(0)时,将会抛出一个RuntimeException
总的来说,Mockito 的 when-thenAnswer 方法可以让你在测试中方便地模拟对象和类,使得单元测试更加简单和高效。