在build.gradle中testImplementation和androidTestImplementation之间的android差异

srb*_*991 28 testing dependencies android gradle

我正在使用andorid studio 3.2,我是新手测试.我想添加一个测试库但是我没有得到我应该在依赖项部分testImplentationandroidTestImplementation中编写的内容.这两者有什么区别?

gal*_*rio 39

如果您使用Android Studio创建Android项目.您可以找到三个目录,如下所示.(每个目录都叫Source Set)

  • 应用程序/ SRC /主
  • app/src/androidTest:用于android UI测试.它需要虚拟或真实设备.(Espresso,UI automator)
  • app/src/test:用于android独立测试.

androidTest目录可以通过触摸屏幕和测试显示的内容自动进行.
test目录中,我们主要做unit tests测试一个功能.

但测试目录不仅适用于单元测试.您也可以像HTTP调用一样编写集成测试.即使你可以UI testtest目录中使用Robolectric库.(它真的很快而不是Espresso)

什么是testImplementationandroidTestImplementation?(每个叫Configuration)

  • testImplementation:为test源集添加依赖项
  • androidTestImplementation:为androidTest源集添加依赖项

有关详细信息,请参阅此文

  • 如果我需要“androidx.test:core:1.4.0”进行单元测试和仪器测试,我是否需要在 gradle 依赖项中包含同一库的 testImplementation 和 androidTestImplementation (11认同)

Chu*_*ulo 9

implementation - 依赖项在所有源集中可用,包括测试源集。

testImplementation — 依赖项仅在测试源集中可用。

androidTestImplementation — 依赖项仅在androidTest源集中可用。

Android源集是:

main:包含您的应用程序代码。此代码在您可以构建的所有不同版本的应用程序之间共享(称为构建变体)

androidTest:包含称为插桩测试的测试。

test:包含称为本地测试的测试。