android - 如何在 android 中正确实现 MVVM 以便对应用程序进行单元测试

标签 android mvvm

我看到了很多关于 android 数据绑定(bind)的 tuts,但仍然对如何准确使用它感到困惑,我越读这些 tuts 越感到困惑,因为每个人都有自己的实现
有人说你不应该在 View 模型中使用 android 的东西,比如上下文,它应该只有业务登录
但是有些人可以自由使用相同的内部 View 模型
所以我想知道我是否应该在我的 View 模型中使用上下文,如果没有,那么如何执行那些需要上下文的任务

最佳答案

我目前正在使用 Model-View-ViewModel 模式(使用 Android Data Binding )开发应用程序。您不打算在业务逻辑中使用 Android 框架组件的最重要原因是可测试性。当我需要它时,我将 Context 注入(inject) ViewModel 并在单元测试中将其替换为模拟的 Context。

另外,请确保您不是 leaking Context在您的特定情况下。

关于android - 如何在 android 中正确实现 MVVM 以便对应用程序进行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39241011/

相关文章:

android - PhoneGap离线存储和压缩

Android 抽屉,图标始终可见

wpf - 当 SelectedValue 不属于 ItemsSource 时,会自动从 ComboBox 中清除它

architecture - MVVM、业务逻辑、实体、DTO 并将它们捆绑在一起

c# - View 和 View 模型之间的快捷方式(Visual Studio 2012)

android - 编译 LintOptions JavaWithJavac 失败,找不到符号

android - 卸载 Scala 对象

Android - 在 MediaRecorder、MediaCodec 和 Ffmpeg 之间进行选择

c# - mvvm light - 发送带回调的通知消息

swift - 如何在 MVVM 架构中使用 RxSwift 将参数发送到 View 模型?