2015-04-30 30 views
10

在阅读匕首2的文档时,我无法找到构建应用程序进行测试时提供依赖关系的简单方法。我发现的唯一线索是这样的:在使用Dagger2时创建测试依赖关系

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

我不明白我将如何在Android上设置这样的配置,任何人都可以解释?

+0

https://google.github.io/dagger/testing.html怎么样? –

回答

11

这对于匕首2(截至v2.0.0)目前是不可能的,没有一些解决方法。你可以阅读关于它here

我建议one workaround但这需要更改生产代码。

简而言之:

  • @Component提供额外的设置器(例如,在Android的设定器在Application类)
  • 测试组件必须延长生产部件

更多信息请检查两个链路。希望这个问题将在未来版本的Dagger 2中解决。

+0

非常感谢! @tomrozb,该解决方法现在应该可以工作,直到有更优雅的解决方案可用 –