gpt4 book ai didi

android - 运行 connectedAndroidTest 并跳过卸载

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:53:07 27 4
gpt4 key购买 nike

有没有办法在进程结束时调用任务 connectedAndroidTest 并跳过卸载任务?

在测试执行结束时,应用程序从设备上卸载,但我想保留该应用程序在设备上。

来自 http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Running-tests :

As mentioned previously, checks requiring a connected device are launched with the anchor task called connectedCheck. This depends on the task connectedDebugAndroidTest and therefore will run it. This task does the following:

  • Ensure the app and the test app are built (depending on assembleDebug and assembleDebugAndroidTest).
  • Install both apps.
  • Run the tests.
  • Uninstall both apps.

最佳答案

查看 gradle 插件的源代码,无法阻止在测试任务结束时卸载应用程序。您可以在 android gradle 插件的 SimpleTestCallable 类中检查。

据我所知,有两种选择可以满足您的需求。

第一个是在连接检查完成后重新安装应用程序。这样做的命令看起来像这样。 ./gradlew connectedCheck installDebug installDebugAndroidTest 这将在设备上执行测试并从中删除应用程序。但之后它将重新安装应用程序并测试应用程序。因此,应用程序仍将被删除然后安装,这意味着有点 owerhead 但至少应用程序不会被重新编译两次,因为您正在执行相同的 gradle 执行。

第二个选项是不使用 gradle 来执行测试,而是使用 adb。为此,您首先需要通过 gradle 安装应用和测试应用。./gradlew installDebug installDebugAndroidTest

之后,您可以通过 adb 执行测试。通过调用 adb shell am instrument -w com.example.test/android.support.test.runner.AndroidJUnitRunner

完成此操作后,您可以运行您的 cli 测试,因为应用程序和测试应用程序仍处于安装状态。

使用第二种方法,您将失去执行 test wit gradle 的所有好处。比如代码覆盖和多进程执行等。

关于android - 运行 connectedAndroidTest 并跳过卸载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47670066/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com