首页 > 解决方案 > 运行测试的问题(没有零参数构造函数)

问题描述

最近我将我的 JUnit 4 运行器从 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

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

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

标签: androidtestinggradlejunit4android-espresso

解决方案


尝试

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

代替

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

推荐阅读