【问题标题】:android difference between testImplementation and androidTestImplementation in build.gradlebuild.gradle中testImplementation和androidTestImplementation之间的android区别
【发布时间】:2019-02-04 04:52:40
【问题描述】:

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

【问题讨论】:

    标签: android testing gradle dependencies


    【解决方案1】:

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

    • app/src/main
    • app/src/androidTest : 用于安卓 UI 测试。它需要虚拟或真实设备。 (Espresso、UI 自动化)
    • app/src/test : 用于 android 独立测试。

    androidTest 目录包含触摸屏幕或检查屏幕上显示内容的测试用例。 在test目录下,我们主要做unit tests,比如测试一个功能。

    但是测试目录不仅仅用于单元测试。您还可以编写集成测试,如 HTTP 调用。 甚至你可以在test 目录中使用RobolectricUI test。(它真的很快,而不是Espresso)

    那么testImplementationandroidTestImplementation 是什么? (每个都叫Configuration

    • testImplementation : 添加对test 源集的依赖
    • androidTestImplementation : 添加对androidTest 源集的依赖

    详情请参阅这篇文章。

    【讨论】:

    • 如果单元测试和仪器测试都需要'androidx.test:core:1.4.0',是否需要在gradle依赖项中包含同一个库的testImplementation和androidTestImplementation
    【解决方案2】:

    实现——依赖关系在所有源集中可用,包括测试源集。

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

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

    Android 源集是:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-02
      • 2016-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多