mockito测试
2018-01-23,本文 1008 字,阅读全文约需 3 分钟
maven项目添加依赖引入,Mockito需要Junit配合使用
-
Mock 对象的创建 mock(Class classToMock); mock(Class classToMock, String name) mock(Class classToMock, Answer defaultAnswer) mock(Class classToMock, MockSettings mockSettings) mock(Class classToMock, ReturnValues returnValues) 可以对类和接口进行mock对象的创建,创建时可以为mock对象命名。对mock对象命名的好处是调试的时候容易辨认mock对象。
-
when(mock.someMethod()).thenReturn(value) 来设定 Mock 对象某个方法调用时的返回值
-
when(mock.someMethod()).thenThrow(new RuntimeException) 的方式来设定当调用某个方法时抛出的异常
-
doThrow(new RuntimeException()).when(mockedList).clear(); //将会 抛出 RuntimeException: mockedList.clear(); 这个实例表示当执行到mockedList.clear()时,将会抛出RuntimeException。其他的doXXX执行与它类似。 例如 : doReturn()|doThrow()| doAnswer()|doNothing()|doCallRealMethod() 系列方法。
-
Spy函数: 你可以为真实对象创建一个监控(spy)对象,当你使用这个spy对象时,真实的对象也会被调用,除非它的函数被打桩。你应该尽量少的使用spy对象,使用时也需要小心,例如spy对象可以用来处理遗留代码,Spy示例如下: List list = new LinkedList(); //监控一个真实对象 List spy = spy(list); //你可以为某些函数打桩 when(spy.size()).thenReturn(100); //使用这个将调用真实对象的函数 spy.add(“one”);
附录:参考文档一览