Espresso测试的正确依赖项是什么?Android官方站点配置信息不一致
Espresso测试的正确依赖项说明
兄弟,我太懂你这种翻官方文档发现内容不一致的烦躁了!其实核心问题出在AndroidX和旧版Support库的迭代差异,还有Gradle配置关键字的更新上。下面给你理清楚当前最靠谱的配置,再解释为啥会有文档冲突。
一、当前推荐的标准配置(AndroidX版本)
现在Android开发已经全面转向AndroidX了,Espresso的官方推荐依赖都是基于AndroidX的,这也是新项目默认的配置方向。完整的基础配置如下:
dependencies { // 单元测试基础框架(JUnit 4) testImplementation 'junit:junit:4.13.2' // 仪器化UI测试核心依赖(Espresso核心) androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1' // 仪器化测试必备的Runner和Rules androidTestImplementation 'androidx.test:runner:1.5.2' androidTestImplementation 'androidx.test:rules:1.5.2' // 如果需要扩展功能,按需添加以下依赖: // WebView测试支持 androidTestImplementation 'androidx.test.espresso:espresso-web:3.5.1' // 系统控件(比如RecyclerView、DatePicker)测试支持 androidTestImplementation 'androidx.test.espresso:espresso-contrib:3.5.1' // Intent跳转测试支持 androidTestImplementation 'androidx.test.espresso:espresso-intents:3.5.1' }
注:版本号可以用最新的稳定版,Android Studio会提示你是否有更新,直接同步即可。另外如果是旧项目,需要先通过Refactor > Migrate to AndroidX完成迁移,才能用这些依赖。
二、为啥官方文档会出现不一致?
你看到的两个文档差异,本质是不同时期的内容:
- 第一个文档里的
com.android.support.test.espresso:espresso-core:3.0.2是旧版Android Support库的依赖,这个版本已经停更很久了,对应的文档大概率是还没更新的历史内容,现在不推荐用了。 - 第二个文档里的
androidTestCompile是Gradle旧版本的配置关键字,现在Gradle已经统一用androidTestImplementation(对应仪器化测试)和testImplementation(对应本地单元测试)来替代,这也是版本迭代带来的变化。
三、快速验证依赖的小技巧
不想手动写依赖的话,直接用Android Studio的可视化配置:
- 打开
File > Project Structure - 切换到
Dependencies标签,选择你的app模块 - 点击右上角的
+,选择Library Dependency - 搜索
espresso-core,就能看到最新的AndroidX版本,直接添加即可,AS会自动帮你同步配置。
内容的提问来源于stack exchange,提问作者user905686
相关产品推荐
相关产品推荐

