当前位置: 首页 > 知识库问答 >
问题:

使用Dagger2时创建测试依赖项

王航
2023-03-14

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

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

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

共有1个答案

袁凌
2023-03-14

如果没有一些解决方法,Dagger 2(从v2.0.0开始)目前不可能做到这一点。你可以在这里读到。

我已经提出了一个解决方案,但这需要更改生产代码。

简言之:

  • @组件提供额外的setter(例如,在应用程序类的Android setter中)

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

 类似资料:
  • 我在{project_home}/src/test/groovy/中有一些功能测试 我希望能够使用一个gradle任务: 但是编译失败: 我确实在/build/libs下面有jar文件

  • 我想从另一个创建一个,其中新的将自动加密我写入该的内容。我想使用Bouncy Castle,因为我已经在为其他功能使用该依赖项。 我在互联网上看到各种问题如何用Bouncy Castle加密数据,但答案要么是加密给定的(我不使用文件,我使用),要么是需要复制粘贴大量代码。真不敢相信一定有那么难。 这是我的设置: 我正在使用此Bouncy Castle依赖项(v1.68) 我正在使用Java 8 我

  • 主要内容:1. dependOnMethods示例,2. dependsOnGroups示例有时,我们可能需要以特定顺序调用测试用例中的方法,或者可能希望在方法之间共享一些数据和状态。 TestNG支持这种依赖关系,因为它支持在测试方法之间显式依赖的声明。 TestNG允许指定依赖关系: 在注释中使用属性,或者 在注释中使用属性。 在TestNG中,我们使用和来实现依赖测试。 如果依赖方法失败,则将跳过所有后续测试方法。 为了方便演示使用,首先创建一个 Maven 项目: DependO

  • 问题:Maven在我的测试中找不到一些依赖项 在我的pom中是这样导入的。xml: 我已经试过了: mvn测试编译 使Intellij缓存无效 重启Intellij 清除. m2并重建项目

  • 我得到以下生成错误: 错误:[dagger.android.androidinjector.inject(T)]没有@provides-annotated方法,无法提供android.support.v4.app.fragmentManager。 公共抽象接口AppComponent扩展dagger.android.androidinjector{^android.support.v4.app.f

  • 每当我尝试使用带有绑定对象的子组件时,我就会得到一个依赖循环。我有一个应用程序范围和一个活动范围。在app范围内,我创建我的web服务,然后当活动打开时,我要创建一个存储对象、控制器和导航器(所有自定义类,而不是androidx类),并将它们注入到我的androidx ViewModel类中。但当我这样做时,我会得到一个依赖循环。 我的顶级组件看起来像 接下来,我的子组件看起来像 但错误消息在那里