android - 运行测试的问题(没有零参数构造函数)
问题描述
最近我将我的 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'
解决方案
尝试
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
代替
testInstrumentationRunner 'androidx.test.ext.junit.runners.AndroidJUnit4'
推荐阅读
- swift - 如何在闭包中使用闭包,而不创建无限循环?
- c++ - std::enable_if 如何防止成员模板的声明?
- javascript - React Hook 在函数“onSubmit”中调用,该函数既不是 React 函数组件也不是自定义 React Hook 函数
- llvm - 为什么我不能在指令组合中使用虚拟寄存器变量?
- python-pptx - 在嵌套for循环的多个目录中迭代imagis,第n个循环重复前一个循环的最后一项 - Python
- c - 如何让程序在 C 中向自身发送 SIGINT?
- node.js - 如何用聚合的mongo减去2个具有相同goods_info.name的子文档
- c++ - 为什么 C++ 编译器内联字符串文字的一部分?
- pandas - 当 as_index=True 时,Pandas groupby 添加额外的数字
- mysql - 如何在 SUM() 中添加 SELECT 查询以显示论坛中的评论总数?