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

时间:2019-02-14 11:44:17

标签: android testing gradle junit4 android-espresso

最近,我将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'

3 个答案:

答案 0 :(得分:1)

尝试

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

代替

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

答案 1 :(得分:0)

请gradle文件添加此代码;

androidTestImplementation'androidx.test.ext:junit:1.1.1'

答案 2 :(得分:0)

当我导入以下代码时:

import org.junit.Test;

它解决了我的错误。