在Android应用程序中模拟一个类 - 而不是在单元测试范围内

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Android应用程序中模拟一个类 - 而不是在单元测试范围内相关的知识,希望对你有一定的参考价值。

我想在我的应用程序中模拟一个对象/类(这个类与第三方库交互),我希望能够运行我的应用程序,无论我从第三方库获得的实际响应。

我想对所谓的方法设置自己的响应。

我尝试使用mockito并定期编译它(我使用的是compile而不是testCompile)。

在尝试调用模拟对象的间谍或模拟静态创建时,我遇到了不同版本的不同错误。

我的问题:

  1. Mockito是否适合在应用程序内部运行,或者它仅用于单元测试?如果它是合适的,是否有一个样板代码的链接为android做这个?
  2. 除了编写模拟我自己之外,还有其他更好的解决方案/框架吗? (在我选择实现代理模式或类似之前)
答案

Mockito是否适合在应用程序内部运行,或者它仅用于单元测试?

不,简单明了。

除了编写模拟我自己之外,还有其他更好的解决方案/框架吗? (在我选择实现代理模式或类似之前)

这暴露了与第三部分依赖关系的紧密耦合。考虑在您控制的抽象背后封装第三方依赖项,以提供更大的灵活性。

这样你就可以交换你自己的模拟/存根/假货来加速开发。

检查您当前的设计选择,并针对松散耦合的代码。它将使您受益,并且将来必须维护代码。

以上是关于在Android应用程序中模拟一个类 - 而不是在单元测试范围内的主要内容,如果未能解决你的问题,请参考以下文章

Android:检查是不是在另一个类中授予权限,而不是在 MainActivity

是否可以扩展服务类而不是在 android 的清单文件中声明为服务组件

仅在物理设备而非模拟器上运行 Android 应用程序

调用函数时模拟器抛出异常(android studio)

iPad应用程序仅在设备上而不是在模拟器中加载笔尖时崩溃

在 Android 中找不到位置提供程序