Zbi*_*ski 6 mvp events android unit-testing asynchronous
场景:用户在屏幕上执行操作,这使应用程序异步加载一些数据,然后更新视图.
在我的架构中,它以这种方式完成:
我正在考虑在这种情况下进行单元测试的两种方法(让我们假设异步任务在单个测试线程中按顺序执行):
在分离中测试每个类是没有意义的,因为方法通常没有逻辑,只有委托.我们可以在演示者及其依赖关系中定义"单元",直到服务级别(因此,我们应该只模拟服务).从服务返回的结果应最终传递给演示者,因此我们可以测试完整路径.
我们使用的事件总线实现取决于Android运行时(绿色机器人),所以要在测试中使用它我们会创建一些智能假,这是非常复杂的.因此,单元测试最好将模拟事件总线视为"外部"依赖.因此对于我们的用例,我们应该分别测试路径演示者 - >事件总线和事件总线 - >演示者.
哪种方法对我的方案更好?
第一个似乎更直观:测试正在检查用户操作是否导致正确的视图更改.如果我们可以同步执行操作,那么管理器,异步任务和事件总线将是不必要的 - 它们只是样板,与业务逻辑无关.我错过了一些我会后悔的事吗?
| 归档时间: |
|
| 查看次数: |
689 次 |
| 最近记录: |