Mockito库能够Mock对象、验证结果以及打桩(stubbing)。下面是官方中文文档,
官方文档:https://github.com/imsingle/mockito-doc-zh/blob/master/README.md
依赖如下:
<!-- https://mvnrepository.com/artifact/org.mockito/mockito-core -->
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>2.23.4</version>
<scope>test</scope>
</dependency>
测试用例就不写了,官网上都有。
关于名词,
桩(Stub),主要出现在集成测试的过程中,从上往下的集成时,作为下方程序的替代。作用如其名,就是在需要时,能够发现它存在,即可。
模拟(Mock),即可替代真实服务器的虚假服务器应用进程,可以按照测试者的意愿做出响应,返回被测对象需要得到的信息。
其他名词参考链接:http://kaverjody.com/chinese-terms-fake-mock-stub-driver-simulator-dummy-double/
其他,mockito一般需要配合junit使用,如果引入的是4.11版本的junit调试时可能会出现NoClassDefFoundError异常,原因是因为4.11版本对Hamcrest的改动,参看官网:junit4/ReleaseNotes4.11.md at 9ad61c6bf757be8d8968fd5977ab3ae15b0c5aba · junit-team/junit4 · GitHub
在junit的4.11版本找不到hamcrest的版本可以在pom里加上其依赖,或者使用低于4.11版本的junit
<dependencies>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-core</artifactId>
<version>1.3</version>
<scope>compile</scope>
</dependency>
</dependencies>