Почему я получаю завершение метода интерфейса No в классе CompletableJob Exception

Я получаю эту ошибку при запуске модульного теста на составном объекте:

No interface method complete()Z in class Lkotlinx/coroutines/CompletableJob; or its super classes (declaration of 'kotlinx.coroutines.CompletableJob' appears in /data/app/~~fIPCXqaEQds-4dojIoIsag==4dojIoIsag==/com.fluffypants.rockhard==/base.apk!classes2.dex

Он помещает это в следующую строку в IdlingResourceRegistry.jvm.kt:

private var pollJob: Job = Job().also { it.complete() } 

Это восходящий код, который я запускаю, и который в конечном итоге приводит к ошибке. Он прерывается при createComposeRule():

@RunWith(AndroidJUnit4:class
class MyInstrumentedTest{
    @get:Rule
    val composeTestRule = createComposeRule()

@OptIn(ExperimentalCoroutinesApi::class)
@Test
    fun myTest() = runTest {
        //errors no matter what I put in here
    }
}

У меня есть эти тестовые библиотеки, настроенные в моем build.gradle.

testImplementation "junit:junit:4.13.2"
androidTestImplementation "org.jetbrains.kotlinx:kotlinx-coroutines-test:1.7.1"
androidTestImplementation "androidx.compose.ui:ui-test-junit4-android:1.6.3"
debugImplementation "androidx.compose.ui:ui-test-manifest:1.6.3"

Я использую самые последние версии всех тестовых библиотек. Что я делаю не так?

поделитесь, пожалуйста, своим тестом, иначе будет сложно помочь

Lino 13.03.2024 19:07

Я закомментировал весь тест, кроме указанной мной строки, и все равно получаю сообщение об ошибке: val composeTestRule = createComposeRule(). Остальное я обновлю в ближайшее время.

coder 13.03.2024 20:21

не могу повторить проблему

Lino 13.03.2024 21:47
0
3
142
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Причиной проблемы было то, что в моей конфигурации варианта buildType для параметра «minifyEnabled» было установлено значение «true».

Например, мой buildType был настроен следующим образом:

android{
    buildTypes{
        myBuildTypeName{
            shrinkResources false
            debuggable true
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.lle
        }
    }
}

Простое изменение значения «minifyEnabled» на «false» решило проблему для меня.

Другие вопросы по теме