整合到 Mockito 2

为了能够持续改进 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。

请参考下面的代码:

repositories {
jcenter()
}
dependencies {
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

posted @ 2019-09-17 12:03  huyuchengus  阅读(356)  评论(0编辑  收藏  举报