最近,我从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;
它解决了我的错误。