- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
现在我正在使用 mockito 或其他东西创建我们项目的单元测试框架。我发现有一个任务 app:mockableAndroidJar 可以构建一个 mockableAndroidJar jar 文件。这是为了什么?如何使用它?我还没有找到关于它的介绍。
最佳答案
包括 Mockito 在内的几个模拟框架通过覆盖模拟或监视类上的方法来工作。但是,Android 库使用了许多 final
类和方法,它们更适合为嵌入式设备编译(因为它们跳过虚拟方法查找)但对模拟不友好。
Android 开发人员工具包的最新版本包括对可模拟的 Android 库的支持,该库与普通的 Android 支持库相同,但删除了 final
修改器无处不在。这将允许您模拟类似 View
的类和 Context
不用担心 final
限制。
请参阅此处的文档:
Unit tests run on a local JVM on your development machine. Our gradle plugin will compile source code found in src/test/java and execute it using the usual Gradle testing mechanisms. At runtime, tests will be executed against a modified version of android.jar where all final modifiers have been stripped off. This lets you use popular mocking libraries, like Mockito.
Added sharing of the mockable
android.jar
, which the plugin generates only once and uses for unit testing. Multiple modules, such asapp
andlib
, now share it. Delete$rootDir/build
to regenerate it.
关于mockito - 如何使用可模拟的AndroidJar?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34853185/
我是一名优秀的程序员,十分优秀!