我有以下单元测试类:
@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测试类中模拟对象的声明顺序有什么影响?
答案 0 :(得分:1)
这是一个DaggerMock错误!我已经提交了修复程序(我很快就会发布新版本),您可以使用提交a6d5925d76作为DaggerModk版本在gradle配置中修复此问题。
感谢您的报告