gpt4 book ai didi

android - 迁移到 Dagger 2.12 并测试模块覆盖

转载 作者:搜寻专家 更新时间:2023-11-01 07:44:42 25 4
gpt4 key购买 nike

我正在从 Dagger 2.0.2 迁移到 Dagger 2.12 并计划使用 dagger.android API。

我的问题是关于迁移测试代码。目前,我有一个 AppModule 和一个 TestAppModule 扩展它并使用 @Override 注释覆盖一些依赖项。这是一个例子:

@Module
public class TestAppModule extends AppModule {

@Override
public UserDao provideUserDao() {
return mock(UserDao.class);
}
}

现在使用 Dagger 2.12,如果我尝试覆盖TestAppModule,抛出错误:error: @Provides methods may not be overridden in modules.

TestModule覆盖和模拟某些依赖项,同时利用 AppModule 中定义的其余依赖项的推荐方法是什么原样?

如果人们认为有必要,我可以发布我的 Dagger 设置的精简版本。

最佳答案

我最终通过简单地不使用 @Module 注释 TestAppModule 来解决它。这样就实现了部分mocking。

public class TestAppModule extends AppModule {

@Override
public UserDao provideUserDao() {
return mock(UserDao.class);
}
}

关于android - 迁移到 Dagger 2.12 并测试模块覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47168004/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com