Src/androidtest 和 src/test 文件夹有什么区别?

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

第一个是 src/androidTest。此文件夹在早期版本的 Android Studio 中已经存在。不过,现在在 build.gradle中有一个新的测试文件夹,默认情况下是 src/test,新的依赖项是 testCompile 'junit: junit: 4.12'

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

35171 次浏览

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

src/test是纯单元测试,不涉及 android 框架。您可以在这里运行测试,而无需在真正的设备或模拟器上运行。

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

更多信息请点击: http://developer.android.com/tools/testing/testing_android.html

有关 android 测试的重要信息来源是开发者页面 测试的最佳实践:

  • 局部单元测试 (/src/test/java/)

在 Java 虚拟机(JVM)本地运行的单元测试。当测试没有 Android 框架依赖项或者可以模拟 Android 框架依赖项时,使用这些测试来最小化执行时间。

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

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

https://developer.android.com/training/testing/start/index.html

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

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

androidTest目录应该包含在实际或虚拟设备上运行的测试。这样的测试包括集成测试、端到端测试和其他测试,在这些测试中,JVM 本身无法验证应用程序的功能。

通过检测测试,我们能够验证需要实际设备的应用程序逻辑,所以大多数情况下我们将验证 UI。我们还将使用 JUnit并添加 Espresso


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

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

单元测试用于在不使用实际设备的情况下验证业务逻辑是否正常工作。我们将使用 JUnithamcrestmockito-kotlin来实现这一点。


enter image description here

更多信息请阅读本文

Androidtest src 文件夹测试与 androidtest

src/test-单元测试

src/androidtest-Android 仪器测试

[阅读更多]