DaggerMock正在生成意外情况

时间:2017-01-05 13:58:33

标签: 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;

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

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

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

1 个答案:

答案 0 :(得分:1)

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

感谢您的报告