android - 在 Android 应用程序中模拟类 - 不在单元测试范围内

标签 android design-patterns mocking mockito wrapper

我想在我的应用程序中模拟一个对象/类(此类与第 3 方库交互)并且我希望能够运行我的应用程序,而不管我从第 3 方库获得的实际响应如何。

我想对调用的方法设置自己的响应。

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

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

我的问题:

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

最佳答案

Is Mockito suitable for running inside the app or it is built only for unit testing?

没有。简单明了。

Is there any other better solution/framework other than writing the mock my self? (before I choose implementing a proxy pattern or something similar)

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

这样您就可以交换自己的模拟/ stub /伪造以加快开发速度。

检查您当前的设计选择,并以松散耦合的代码为目标。这将使您和将来必须维护代码的人受益。

关于android - 在 Android 应用程序中模拟类 - 不在单元测试范围内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48080103/

相关文章:

android - 使用电容式触摸屏显示器识别 Activity 对象

android - 在 Toolbar 和 Tablayout 之间获取高度

java - 登录认证编程模式

design-patterns - 策略模式 VS 装饰模式

python - 单元测试设计和模拟

java - 有没有办法在 Java 中将类作为堆栈变量,或者我在 C++ 思维模式中太多了?

android - RTSP、RTCP 和 RTP 端口号

unit-testing - Azure cmdlet 调用上出现 Pester 模拟错误 PSInvalidCastException

mysql - 关于从某人关注的用户获取最新帖子的可扩展性问题 : two different implementations

javascript - Sinon - spy 包装对象上的 *any* 属性访问