【问题标题】:What's the difference between src/androidtest and src/test folders?src/androidtest 和 src/test 文件夹有什么区别?
【发布时间】:2016-03-27 15:16:20
【问题描述】:

在一个项目中,在Android Studio中,默认有两个测试文件夹。

第一个是src/androidTest。此文件夹已存在于之前版本的 Android Studio 中。尽管如此,现在有一个新的测试文件夹,默认情况下,src/test,以及新的依赖关系,testCompile 'junit: junit: 4.12' in build.gradle。

我使用哪个文件夹进行测试?两者有什么区别?

【问题讨论】:

    标签: android android-studio testing junit android-testing


    【解决方案1】:

    src/androidTest 用于涉及 android 仪器的单元测试。

    src/test 用于不涉及android框架的纯单元测试。您可以在此处运行测试,而无需在真实设备或模拟器上运行。

    您可以同时使用这两个文件夹。使用第一个测试使用 Android 框架的代码。使用第二个测试纯 java 类的代码。编写测试的方法几乎相同。

    更多信息在这里:http://developer.android.com/tools/testing/testing_android.html

    【讨论】:

    【解决方案2】:

    一般而言,与 Android 测试相关的重要信息来源是开发者页面 Best Practices for Testing:

    • 本地单元测试 (/src/test/java/)

    在 Java 虚拟机 (JVM) 上本地运行的单元测试。当您的测试没有 Android 框架依赖项或您可以模拟 Android 框架依赖项时,使用这些测试可以最大限度地缩短执行时间。

    • 仪器测试 (/src/androidTest/java/)

    在 Android 设备或模拟器上运行的单元测试。这些测试可以访问 Instrumentation 信息,例如您正在测试的应用程序的上下文。当您的测试具有模拟对象无法满足的 Android 依赖项时,请使用这些测试。

    【讨论】:

      【解决方案3】:

      Android Studio 中的典型项目包含两个用于放置测试的目录。

      1.仪器化测试 (/src/androidTest/java/)

      androidTest 目录应包含在真实或虚拟设备上运行的测试。此类测试包括集成测试、端到端测试以及仅 JVM 无法验证应用功能的其他测试。

      通过仪器化测试,我们能够验证需要真实设备的应用逻辑,因此我们主要会验证 UI。我们还将使用JUnit,我们将添加Espresso。


      2。单元测试 (/src/test/java/)

      test 目录应该包含在本地机器上运行的测试, 比如单元测试。

      单元测试用于在不使用真实设备的情况下验证业务逻辑是否正常工作。例如。我们将使用JUnit、hamcrest 和mockito-kotlin 来实现这一目标。


      More info read this article

      【讨论】:

        【解决方案4】:

        Android 测试 src 文件夹 test vs androidtest

        src/test - 单元测试

        src/androidtest - Android Instrumentation 测试

        [Read more]

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2021-06-08
          • 2012-06-30
          • 1970-01-01
          • 1970-01-01
          • 2013-02-25
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多