对Android Gradle中的testCompile和androidTestCompile感到困惑

Luc*_*cas 87 android gradle robolectric android-testing android-gradle-plugin

我是测试世界的新手,更是Android测试世界的新手.在对Robolectric进行研究时,有助于对android进行测试的一件事让我感到困惑.有时在网络上我看到人们testCompile在引用Robolectric而其他人使用时在gradle构建脚本的依赖关系中使用关键字androidTestCompile.当然两者都无效?

有人可以解释两者之间的区别,以及使用Robolectric时应该使用哪一个?

Mar*_*ira 119

简单的testCompile是单元测试的配置(位于src/test中的配置),androidTestCompile用于测试api(位于src/androidTest中).由于您打算编写单元测试,您应该使用testCompile.

更新:两者之间的主要区别是源集test在常规Java JVM中androidTest运行,而源集测试在Android设备(或模拟器)上运行.

  • 命名约定有点奇怪.基本上,如果您正在编写单元测试(不会在设备上运行的测试),那么它们将存在于'src/test'中,因此它们的依赖项属于`testCompile`配置.添加到`androidTestCompile`配置的依赖项只能用于'src/androidTest'中的源,它实际上内置在APK中并部署在设备上. (3认同)