【问题标题】:Hilt dependencies not provided in tests测试中未提供 Hilt 依赖项
【发布时间】:2020-06-26 15:40:09
【问题描述】:

我开始使用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.

你知道如何解决这个问题吗?

【问题讨论】:

    标签: java android dependency-injection dagger dagger-hilt


    【解决方案1】:

    是的,当你想测试匕首的东西时,你不能使用正常的活动。

    请查看以下教程,因为它应该可以解决您的问题:https://www.youtube.com/watch?v=k4zG93ogWFY&t

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-02
      • 1970-01-01
      • 1970-01-01
      • 2016-10-16
      • 1970-01-01
      相关资源
      最近更新 更多