Android 刀柄。未解决的参考:TestInstallIn

问题描述 投票:0回答:1

模块文件:

@Module
@TestInstallIn(components = [ActivityRetainedComponent::class],
    replaces = [ThoughtTrackerModule::class])
object FakeThoughtTrackerModule {
    @Provides
    fun provideIsDateDifferentFromCurrentUseCase(): IsDateEqualToCurrentUseCase =
        IsDateEqualToCurrentUseCase(LocalDateTime.now().plusDays(1))
    @Provides
    fun provideGetCurrentDateInTimestampUseCase(): GetCurrentDateInTimestampUseCase =
        GetCurrentDateInTimestampUseCase()
    @Provides
    fun provideThoughtTrackerService(): ThoughtTrackerService =
        ThoughtTrackerService(Firebase.firestore.collection("users"), Firebase.auth)
    @Provides
    fun provideThoughtTrackerItemService(): ThoughtTrackerItemService =
        ThoughtTrackerItemService(Firebase.firestore.collection("users"), Firebase.auth)
}

build.gradle.kts:

val hilt_version = "2.50"
implementation("com.google.dagger:hilt-android:$hilt_version")
ksp("com.google.dagger:hilt-android-compiler:$hilt_version")
implementation("androidx.hilt:hilt-navigation-compose:1.1.0")
androidTestImplementation("com.google.dagger:hilt-android-testing:$hilt_version")
kspAndroidTest("com.google.dagger:hilt-android-compiler:$hilt_version")

我尝试过使用不同版本的hilt,使Android Studio的缓存无效,运行

./gradlew clean build
,但没有结果

android gradle testing android-jetpack-compose dagger-hilt
1个回答
0
投票

您为 androidTestImplementation 指定“com.google.dagger:hilt-android-testing:$hilt_version”。 所以需要把FakeThoughtTrackerModule放到androidTest目录下。

© www.soinside.com 2019 - 2024. All rights reserved.