android - 改造测试,回调?

标签 android testing callback retrofit

我正在尽最大努力学习如何正确测试我的 Android 应用。现在我通常使用以下结构:

  • 模型
  • 改造(让它通过使用回调来处理线程)
  • 用于发布成功和失败事件的改造调用包装器 由主持人接走。
  • 主持人。
  • 观看次数。

在我自己处理线程之前,我已经测试过应用程序。在这种情况下,我不知道如何验证我的包装器是否真的在调用事件发布方法,因为这些方法是在回调上调用的。我该怎么做才能解决这个问题?

我能想出的唯一解决方案是不使用回调,但它们非常方便。为了测试而自己动手不是倒退吗?

我只能猜测我的架构方式不适合测试。

编辑:这个问题表明将测试拆分为一个好主意:

1.- Test that your async process is submitted properly. You can mock the object that accepts your async requests and make sure that the submitted job has correct properties, etc. 2.- Test that your async callbacks are doing the right things. Here you can mock out the originally submitted job and assume it's initialized properly and verify that your callbacks are correct.

但是我如何在不模拟 Retrofit 服务的情况下测试第一部分(因为永远不应该模拟第三方代码)?

最佳答案

尝试将 Rx 与 Retrofit 结合使用。它使同步 Rx 请求成为异步的,从而避免了回调的需要。更重要的是,您可以从 Rx 机制获得完美的回调,这将帮助您正确测试。

查看RxJava with Retrofit

关于android - 改造测试,回调?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30690232/

相关文章:

testing - 当 WebTestCase 用于功能测试包时指定配置?

没有函数指针的回调

jquery - 如何在一组(例如 sibling )上的动画之后顺序运行动画*仅一次*

android - 在 android build.gradle 文件中添加任何新的依赖项。它总是显示错误

unit-testing - 硬编码模拟对象与模拟框架

android - 在最新检查期间无法捕获任务 ':app:preDebugBuild' 属性 'runtimeManifests' 的输入文件的快照

java - 如果正确安装了 JDK,如何(深入)测试?

c++ - 这种回调的使用是惯用的吗?

java - ionic Android 构建停止工作

android - 应用程序卸载后在 Android 中存储设置