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



最近,我从androidx.test.runner.androidjunit4升级为androidx.test.test.ext.junit.runners.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

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

我的应用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'

尝试

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

代替

testInstrumentationRunner 'androidx.test.ext.junit.runners.AndroidJUnit4'

将此行添加到模块的build.gradle文件:

androidTestImplementation 'androidx.test.ext:junit:<version>'

当我在代码下方导入时:

import org.junit.Test;

它解决了我的错误。

最新更新