【问题标题】:Run specific instrumentation test suite with Gradle Managed Devices - Android使用 Gradle 托管设备运行特定的仪器测试套件 - Android
【发布时间】:2022-11-10 19:22:01
【问题描述】:

所以随着 Android Studio Dolphin & Beta of Electric Eel 的发布,我想在 gradle 中尝试仪器测试。但是,我确实想排除一些正在运行的测试,以便能够一次运行一个特定的测试套件。

所以这是我到目前为止配置的内容:

android {
  testOptions {
    managedDevices {
      devices {
        pixel2api30 (com.android.build.api.dsl.ManagedVirtualDevice) {
          device = "Pixel 2"
          apiLevel = 30
          systemImageSource = "aosp-atd"
        }
      }
    }
  }
}

我知道我可以运行我的整个套件使用

./gradlew device-nameBuildVariantAndroidTest

在我的情况下,那将是

./gradlew pixel2api30gaeDebugAndroidTest

gaeDebug 是我的构建变体。此命令正在我的项目根目录中运行。

例如,如果我想在 tests/large 文件夹中运行测试

我该怎么做呢?谢谢。

【问题讨论】:

    标签: android gradle android-testing android-studio-dolphin


    【解决方案1】:

    为此,您可以使用 2 种不同的方法:

    1. 创建和运行测试套件。

      例如,为每个文件夹创建一个TestSuite 并定义测试类。例如:

      @RunWith(Suite.class)
      @Suite.SuiteClasses({
          ExampleLargeTest.class,
          ExampleTwoLargeTest.class,
          ExampleThreeLargeTest.class
      })
      public class LargeTestsSuite {
      }
      

      该套件可以使用以下命令运行

      ./gradlew pixel2api30gaeDebugAndroidTest - Pandroid.testInstrumentationRunnerArguments.class=path.to.your.suite.class
      
      1. 使用测试类别

      像这样注释您的测试类:

      @Category("Large")
      public class ExampleLargeTest { ... }
      

      然后您可以执行以下命令来运行具有相同类别的所有测试:

          ./gradlew pixel2api30gaeDebugAndroidTest -PtestCategory=Large
      

      希望这两种方法中的一种适合您。

    【讨论】:

      猜你喜欢
      • 2017-04-01
      • 2014-05-22
      • 2023-01-29
      • 1970-01-01
      • 1970-01-01
      • 2015-03-09
      • 2023-02-15
      • 1970-01-01
      • 2015-01-31
      相关资源
      最近更新 更多