【问题标题】:Unresolved reference: junit4: Android ComposeUI testing未解决的参考:junit4:Android ComposeUI 测试
【发布时间】:2022-07-08 03:16:52
【问题描述】:

我试图测试我在 android 中使用 jetpack compose 构建的 UI,并添加了这些依赖项来设置它

    androidTestImplementation "androidx.compose.ui:ui-test-junit4:1.1.0"
    debugImplementation "androidx.compose.ui:ui-test-manifest:1.0.5"

为了测试,我刚开始写以下内容

class LoginActivityComposeTest {
    @get:Rule
    val composeTestRule = createComposeRule()

    @Test
    fun socialPluginsTest() {
        composeTestRule.setContent {
            SocialLogins()
        }
    }
}

我尝试导入的 createComposeRule() 不可用。我尝试从 import androidx.compose.ui.test.junit4.createComposeRule 手动导入,但是当我尝试运行测试之后,出现错误显示

Unresolved reference: junit4

这是我正在使用的完整 build.gradle 依赖项

compose_version = '1.0.1' retrofit_version = '2.9.0'

    implementation "androidx.core:core-ktx:1.7.0"
    implementation "androidx.compose.ui:ui:$compose_version"
    implementation "androidx.compose.material:material:$compose_version"
    implementation "androidx.compose.ui:ui-tooling-preview:$compose_version"
    implementation "androidx.lifecycle:lifecycle-runtime-ktx:2.4.0"
    implementation "androidx.activity:activity-compose:1.4.0"
    implementation "androidx.navigation:navigation-compose:2.5.0-alpha01"
    implementation "com.squareup.retrofit2:retrofit:$retrofit_version"
    implementation "com.squareup.retrofit2:adapter-rxjava2:$retrofit_version"
    implementation "com.squareup.retrofit2:converter-gson:$retrofit_version"
    implementation 'io.reactivex.rxjava2:rxandroid:2.0.1'
    implementation "io.reactivex.rxjava2:rxkotlin:2.4.0"
    implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.0"
    implementation 'com.google.android.gms:play-services-auth:20.1.0'
    implementation "io.coil-kt:coil-compose:1.4.0"
    testImplementation "junit:junit:4.13.2"
    androidTestImplementation "androidx.test.espresso:espresso-core:3.4.0"
    androidTestImplementation "androidx.compose.ui:ui-test-junit4:1.1.0"
    debugImplementation "androidx.compose.ui:ui-test-manifest:1.0.5"

【问题讨论】:

  • 您找到解决方案了吗?我也遇到了同样的问题
  • 不,我没有,因为我很忙,所以我暂停了这个项目工作

标签: android kotlin android-jetpack-compose


【解决方案1】:

您可能需要将@RunWith(AndroidJUnit4::class) 添加到测试类的顶部。

我不能说 100% 准确,因为我不确定在你的 gradle 设置中还有什么可能导致这种情况,但我遇到了类似的问题,这就是我的解决方案。

【讨论】:

    猜你喜欢
    • 2018-08-03
    • 1970-01-01
    • 1970-01-01
    • 2021-11-02
    • 1970-01-01
    • 2019-10-11
    • 2021-11-05
    • 1970-01-01
    • 2020-01-05
    相关资源
    最近更新 更多