mRouteRemoteDataSource

mRouteRemoteDataSource

我有以下单元测试课:

@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

最佳答案

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

感谢您的举报

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

10-10 19:48