为了能够持续改进 Mockito 和在未来提升测试体验,我们希望你能够升级到 Mockito 2.10!Mockito 按照语义化版本(semantic versioning)的方式对版本进行编排,并且只在主版本升级的时候包含有重大的修改。
在库的生命周期中,有时候重大升级是必要的,通常在重大升级中包含有很多重要的新特性,对老的库进行修改甚至有可能会修改 API。
有关完整的指南和一些不兼容的修改,请参考 What's new in Mockito 2 Wiki 页面中的内容。
我们希望能够享受 Mockito 2 带来的改进和便利。
Mockito Android 支持
在 Mockito version 2.6.1 中,我们原生包含 Android 支持(Android support)。
为了能够使用 Android 支持,添加 mockito-android 库到你项目的依赖中。这个 artifact 是 Mockito 项目组开发的,可以使用下面的的语法将依赖导入到你 Android 的项目中。
repositories {
jcenter()
}
dependencies {
testCompile "org.mockito:mockito-core:+"
androidTestCompile "org.mockito:mockito-android:+"
你可以通过在你的 testCompile scope 中使用 mockito-core 在常规虚拟机(VM)中运行相同的单元测试.
请注意,因为 Android 虚拟机的限制,你不能在 Android 中使用 inline mock maker。如果你在 Android 的测试中持续遇到问题,请访问官方的创建问题:
https://github.com/mockito/mockito/issues/new链接来向官方报告你遇到的问题。在向官方提交 Android 测试遇到的问题的时候,请同事提供你当前使用 Android 的版本和你项目中使用的依赖。
无配置 inline mock making
从版本 2.7.6 开始,我们提供了 mockito-inline 库。在这个库中,你可用不需要配置 MockMaker 扩展文件来启用 inline mock making 。
为了使用这个功能,请添加 mockito-inline 库来替换掉 mockito-core。
请参考下面的代码:
testCompile "org.mockito:mockito-inline:+"
请注意,当 inline mock making 特性被默认整合到 mock maker 中的时候,这个库有可能会被取消。
有关更多的内容,请参考:Mocking final types, enums and final methods (Since 2.1.0) 页面中的内容。
https://www.cwiki.us/display/MockitoZH/Migrating+to+Mockito+2