10

在阅读 dagger 2 的文档时,我找不到在构建测试应用程序时提供依赖项的简单方法。我发现的唯一线索是:

Dagger 2 不支持覆盖。覆盖简单测试伪造的模块可以创建模块的子类来模拟该行为。应该分解使用覆盖并依赖依赖注入的模块,以便将覆盖的模块表示为两个模块之间的选择。

我不明白如何在 Android 上设置这样的配置,谁能解释一下?

4

1 回答 1

12

如果没有一些变通方法,目前使用 Dagger 2(从 v2.0.0 开始)是不可能的。你可以在这里阅读。

我提出了一种解决方法,但这需要更改生产代码。

简而言之:

  • @Component为(例如在 AndroidApplication类中的 setter 中)提供额外的 setter
  • 测试组件必须扩展生产组件

有关更多信息,请查看两个链接。希望这个问题将在 Dagger 2 的未来版本中得到解决。

于 2015-05-05T16:00:34.683 回答