在 AndroidTest class 中使用 dagger2 注入 OkHttp 以重新生成 OkHttp3IdlingResource

Inject OkHttp using dagger2 in AndroidTest class for regestering OkHttp3IdlingResource

我有一个使用 Retorift2 + Dagger2 构建的应用程序。我开始使用 Espresso 编写 Android UI 测试。 要等待网络调用,我需要注册一个 IdlingResource。我已经添加了对 OkHttp3IdlingResource.

的依赖

我需要在我的测试中注入一个 OkHttp class,但是由于 AppComponent 不在同一个源目录中所以我不能只添加

void inject(RegistrationLoginUiTest activity);

到我的组件。

如何从依赖关系图中获取 OkHttp 到我的测试中 class?

是创建 TestAppComponent 并将其与 AppComponent 交换的唯一方法吗?

我已经解决了在任何情况下如果我想注入测试 class 我应该创建 TestAppComponent 我应该添加行的地方:

void inject(RegistrationLoginUiTest activity);

然后将 TestAppComponent 与 AppComponent 交换