我有以下单元测试课:
@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/