android - DaggerMock 正在生成意外实例

标签 android unit-testing mocking dagger-2

我有以下单元测试类:

@Rule
public DaggerMockRule<RouteRepositoryComponent> daggerMockRule = new DaggerMockRule<>(RouteRepositoryComponent.class, new RouteRepositoryModule())
        .addComponentDependency(ApplicationComponent.class, new ApplicationModule(RuntimeEnvironment.application));

@Mock
@Local
RouteDataSource mRouteLocalDataSource;

@Mock
@Remote
RouteDataSource mRouteRemoteDataSource;

@Mock
RouteDataSource.LoadRouteCallback mLoadRouteCallback;

@InjectFromComponent
RouteRepository mRouteRepository;

mRouteLocalDataSourcemRouteRemoteDataSource 之前声明时,其中一个测试方法失败。但是,当 mRouteRemoteDataSourcemRouteLocalDataSource 之前声明时,同样的测试方法会通过。

DaggerMock 测试类中模拟对象的声明顺序有什么影响?

来源:https://github.com/orogersilva/kap-android

最佳答案

这是一个 DaggerMock 错误!我已经提交了一个修复程序(我会很快发布一个新版本),你可以在你的 gradle 配置中使用提交 a6d5925d76 作为 DaggerModk 版本来解决这个问题。

感谢您的举报

关于android - DaggerMock 正在生成意外实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41486936/

相关文章:

unit-testing - 在Grails单元测试中使用mockDomain后是否需要删除metaClass?

unit-testing - 如何在 Rust 中模拟特定方法而不是所有方法?

java - 使用和测试生成的映射器的正确方法

android - 如何将 Android 手机屏幕流式传输到 PC

java - 为什么 JUnit 从 Eclipse 启动需要这么长时间?

android - 有什么不同@android :id/list @+id/android:list?

unit-testing - 得到这个错误 : unrecognized option --skeleton-test using PHPUnit 3. 7.10 使用 Netbeans 7.1.2

c - 如何使用 Clion 和 Cmake 的检查测试框架?

android - junit.framework.AssertionFailedError : Exception in constructor: (java. lang.NoClassDefFoundError)

安卓 : IllegalArgumentException: "Component class X does not exist" in API 17 (no crash in API 8)