运行测试时出现问题(<androidx.test.ext.junit.runners.AndroidJUnit4> 没有零参数构造函数)

Raf*_*nza 5 testing android junit4 gradle android-espresso

最近我将我的 JUnit 4 runner 从 androidx.test.runner.AndroidJUnit4 升级到 androidx.test.ext.junit.runners.AndroidJUnit4。

当我执行测试时,我收到以下错误:测试运行失败:

Instrumentation run failed due to 'Process crashed.'

LogCat 显示此错误:

java.lang.InstantiationException: 
java.lang.Class<androidx.test.ext.junit.runners.AndroidJUnit4> has no zero argument constructor
Run Code Online (Sandbox Code Playgroud)

测试中的所有导入都是正确的,我在构建中没有收到任何错误。

我的应用程序 gradle 如下所示:

defaultConfig {
        testInstrumentationRunner 'androidx.test.ext.junit.runners.AndroidJUnit4'
    }

implementation fileTree(include: ['*.jar'], dir: 'libs')
    androidTestImplementation "androidx.test.ext:junit:1.1.0"
    androidTestImplementation 'androidx.test:rules:1.1.1'
    androidTestImplementation 'androidx.test:runner:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-intents:3.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
Run Code Online (Sandbox Code Playgroud)

iDr*_*oid 9

尝试

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
Run Code Online (Sandbox Code Playgroud)

代替

testInstrumentationRunner 'androidx.test.ext.junit.runners.AndroidJUnit4'
Run Code Online (Sandbox Code Playgroud)