什么是 AndroidX.Test 框架,它如何影响我的 unit/robolectric/espresso 测试?
What is the AndroidX.Test Framework and how does it affect my unit/robolectric/espresso tests?
我已经阅读了 Android 文档中的 Test Android Apps。 Google 引入了 AndroidX 测试,但我仍然对其含义感到非常困惑。
我正在将 MVVM Android 架构组件与 ViewModel、LiveData 一起使用。
我需要使用 Android X Framework 的哪些部分?
查看(Activity.Fragments) --> 浓缩咖啡?
ViewModel(带 LiveData)--> RoboElectric?
型号 --> JUnit 还是 RoboElectric?
为什么 Google 仍然有很多库让我们感到困惑,为什么他们不能将所有本地测试、Instrumentation 测试和所有内容都移动到同一框架 (Espresso) 下?
Google 测试团队对其测试框架 AndroidX 进行了许多改进。
Why Google still confusing with lot of libraries, why cant they move all Local test, Instrumentation test everything under same Framework(Espresso)?
通过 AndroidX 测试,他们实际上正在尝试解决这个问题!
首先,常规 "Junit" 单元测试未更改。您应该像以前一样在 JVM 上测试您的 java 代码。
但是现在,有了 AndroidX,他们已经使 Robolectric 4.0 API 与 Espresso 相同,因此现在可以 运行 您的 Espresso 测试 Robolectric测试。这意味着在本地开发时,您可以更快地迭代,因为 Instrumentation Tests 可以 运行 快得多,而不必在模拟器上 运行。它还使学习 Robolectric 变得容易得多,因为您可以使用与浓缩咖啡相同的 API。
当您进入 PR 或 CI 阶段时,您可以提交 那些与 Robolectric JVM 上的 运行 相同的测试 运行 在使用 Espresso 的真实设备上 CI。
我建议查看 Testing Rebooted (with AndroidX Test) (Android Dev Summit '18) 了解更多背景信息。
在这张图片中,失败的 UI 和单元测试将表示相同的测试,但表示为 Espresso/Robolectric 仪器测试,具体取决于您想要 运行 的内容和时间。为清楚起见,当您进行本地开发时,尤其是使用 TDD 时,您可能希望将其 运行 设为 Robolectric。当准备好提交 PR 时,您可以 运行 在 CI 上使用模拟器或真实设备进行相同的测试。
因此,虽然 AndroidX.test 可能令人困惑,但我建议观看此视频以更多地了解 Google 对框架的意图。
此外,我同意他们可以提供更多使用新 Androidx.Test 的示例和指导!
我已经阅读了 Android 文档中的 Test Android Apps。 Google 引入了 AndroidX 测试,但我仍然对其含义感到非常困惑。
我正在将 MVVM Android 架构组件与 ViewModel、LiveData 一起使用。
我需要使用 Android X Framework 的哪些部分?
查看(Activity.Fragments) --> 浓缩咖啡?
ViewModel(带 LiveData)--> RoboElectric?
型号 --> JUnit 还是 RoboElectric?
为什么 Google 仍然有很多库让我们感到困惑,为什么他们不能将所有本地测试、Instrumentation 测试和所有内容都移动到同一框架 (Espresso) 下?
Google 测试团队对其测试框架 AndroidX 进行了许多改进。
Why Google still confusing with lot of libraries, why cant they move all Local test, Instrumentation test everything under same Framework(Espresso)?
通过 AndroidX 测试,他们实际上正在尝试解决这个问题!
首先,常规 "Junit" 单元测试未更改。您应该像以前一样在 JVM 上测试您的 java 代码。
但是现在,有了 AndroidX,他们已经使 Robolectric 4.0 API 与 Espresso 相同,因此现在可以 运行 您的 Espresso 测试 Robolectric测试。这意味着在本地开发时,您可以更快地迭代,因为 Instrumentation Tests 可以 运行 快得多,而不必在模拟器上 运行。它还使学习 Robolectric 变得容易得多,因为您可以使用与浓缩咖啡相同的 API。
当您进入 PR 或 CI 阶段时,您可以提交 那些与 Robolectric JVM 上的 运行 相同的测试 运行 在使用 Espresso 的真实设备上 CI。
我建议查看 Testing Rebooted (with AndroidX Test) (Android Dev Summit '18) 了解更多背景信息。
在这张图片中,失败的 UI 和单元测试将表示相同的测试,但表示为 Espresso/Robolectric 仪器测试,具体取决于您想要 运行 的内容和时间。为清楚起见,当您进行本地开发时,尤其是使用 TDD 时,您可能希望将其 运行 设为 Robolectric。当准备好提交 PR 时,您可以 运行 在 CI 上使用模拟器或真实设备进行相同的测试。
因此,虽然 AndroidX.test 可能令人困惑,但我建议观看此视频以更多地了解 Google 对框架的意图。
此外,我同意他们可以提供更多使用新 Androidx.Test 的示例和指导!