Зависимости рукояти, не представленные в тестах
Я начинал использовать hilt
и я столкнулся с проблемой во время тестирования.
Это код, который генерирует следующую ошибку:
@HiltAndroidTest
@RunWith(CommonUiRunner::class)
class PhoneEditTextTest {
@Test
fun testThatNumberFormatted() {
val controller = Robolectric.buildActivity(AppCompatActivity::class.java)
val activity = controller.get()
val editText = PhoneEditText(activity)
activity.setContentView(editText)
controller.setup()
}
}
@Module
@InstallIn(ApplicationComponent::class)
object ApplicationModule {
@Provides
@Singleton
fun providePhoneNumberUtil(app: Application): PhoneNumberUtil = PhoneNumberUtil.createInstance(AssetsMetadataLoader(app.assets))
}
@Module
@InstallIn(ApplicationComponent::class)
object CountriesFeatureModule {
@Provides
@Singleton
fun providesApi(app: Application): CountriesFeatureApi = CountriesFeatureImpl(app.assets)
}
Возвращение:
APPLICATION and COUNTRIES-FEATURE modules contains in INJECTOR gradle-module.
Вы знаете, как это исправить?
1 ответ
Да, вы не можете использовать обычные действия, если хотите протестировать вещи с рукоятью кинжала.
Просмотрите следующий учебник, поскольку он должен решить вашу проблему: https://www.youtube.com/watch?v=k4zG93ogWFY&t