为测试和可读性声明片段依赖关系的最佳方法?

时间:2018-01-24 13:03:22

标签: java android android-fragments testing android-testing

基本上我知道两种方式:

  • 通过newInstance传递依赖关系
  • 通过onAttach
  • 检索依赖性

这两种方法似乎都完成了工作。

然而,第一种方法非常类似于通过构造函数声明依赖关系的常用方法,但它需要传递的依赖项来实现Parcelable接口,这并不总是可行的或者想要的。 (例如,数据库DAO和存储库)

第二种方法在附加到上下文时检索依赖项。通过这种方式,可以询问上下文是否具有片段运行所需的某些依赖性。这似乎是一种非常干净和有效的方式,但问题在于它隐藏了依赖性,并使测试更加困难。

所以我的问题是:第三种方式吗?或者是否有某种方法可以使这两种方法都具有两全其美的效果?

1 个答案:

答案 0 :(得分:0)

您可以使用Dagger 2将依赖项注入您的片段。设置完成后,您只需使用@Inject注释注释片段的成员,Dagger 2将提供所需类的实例。并且可以在测试中替换您的依赖项。