Dagger2 не генерирует компонент для теста - PullRequest
0 голосов
/ 30 апреля 2020

У меня уже есть AppComponent, который работает нормально, но теперь я хотел создать TestAppComponent для выполнения некоторых тестов пользовательского интерфейса, но всякий раз, когда я пытаюсь создать этот компонент, он выглядит как Unresolved references, в первую очередь это мое приложение

Мое приложение выглядит так

class App : Application() , HasAndroidInjector {

    @Inject
    lateinit var androidInjector : DispatchingAndroidInjector<Any>

    override fun androidInjector(): AndroidInjector<Any> = androidInjector

    override fun onCreate() {
        super.onCreate()
        DaggerAppComponent.factory()
            .create(this)
            .inject(this)
    }
}

Тогда у меня есть свой AppComponent

@Singleton
@Component(
    modules = [
        AndroidInjectionModule::class
    ]
)
interface AppComponent : AndroidInjector<App> {

    @Component.Factory
    interface Factory {
        fun create(@BindsInstance application: App): AppComponent
    }
}

Это работает, потому что мое приложение запускается и работает, дело в том, что я создал в папке AndroidTest этот TestAppComponent

@Singleton
@Component(
    modules = [
        AndroidInjectionModule::class
    ]
)
interface TestAppComponent : AndroidInjector<TestApp> {
    @Component.Factory
    interface Factory {
        fun create(@BindsInstance application: TestApp): TestAppComponent
    }
}

И здесь написано Unresolved references

class TestApp : App() {

    override fun onCreate() {
        super.onCreate()
        DaggerTestAppComponent.factory()
            .create(this)
            .inject(this)
    }

}

Чего мне не хватает?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...