我有以下单元测试类:
@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 测试类中模拟对象的声明顺序有什么影响?
最佳答案
这是一个 DaggerMock 错误!我已经提交了一个修复程序(我会很快发布一个新版本),你可以在你的 gradle 配置中使用提交 a6d5925d76 作为 DaggerModk 版本来解决这个问题。
感谢您的举报
关于android - DaggerMock 正在生成意外实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41486936/