0

我有一个带有两个单元测试的 Android 库项目,以及在 Gradle 中定义的那些任务:

task("cleanProject", dependsOn: "clean", group: "myGroup")

task("generateAAR", dependsOn: "assembleRelease", group: "myGroup")

task("copyAAR", type: Copy, group: "myGroup") {
    from "${project.rootDir}/project/build/outputs/aar"
    into "${project.rootDir}/mydir/aar"
}

我尝试通过添加以下 .yml 来使用 Azure 管道:

    - task: Gradle@2
  inputs:
    workingDirectory: ''
    gradleWrapperFile: 'gradlew'
    gradleOptions: '-Xmx3072m'
    javaHomeOption: 'JDKVersion'
    jdkVersionOption: '1.8'
    jdkArchitectureOption: 'x64'
    tasks: 'cleanProject'
  displayName: Clean Project

- task: Gradle@2
  inputs:
    workingDirectory: ''
    gradleWrapperFile: 'gradlew'
    gradleOptions: '-Xmx3072m'
    javaHomeOption: 'JDKVersion'
    jdkVersionOption: '1.8'
    jdkArchitectureOption: 'x64'
    tasks: 'testReleaseUnitTest'
  displayName: Release Unit Test

- task: Gradle@2
  inputs:
    workingDirectory: ''
    gradleWrapperFile: 'gradlew'
    gradleOptions: '-Xmx3072m'
    javaHomeOption: 'JDKVersion'
    jdkVersionOption: '1.8'
    jdkArchitectureOption: 'x64'
    tasks: 'generateAAR'
  displayName: Generate AAR Lib

- task: Gradle@2
  inputs:
    workingDirectory: ''
    gradleWrapperFile: 'gradlew'
    gradleOptions: '-Xmx3072m'
    javaHomeOption: 'JDKVersion'
    jdkVersionOption: '1.8'
    jdkArchitectureOption: 'x64'
    tasks: 'copyAAR'
  displayName: Copy AAR Lib

它运行良好,但我注意到该测试也在 generateAAR 和 copyAAR 任务上执行,总共有 6 个测试通过。有没有办法从特定任务或管道中排除测试?

提前致谢。

4

2 回答 2

1

有没有办法从特定任务或管道中排除测试?

Azure devops 服务本身没有从一项任务中排除测试的选项。(测试级别)相反,它支持禁用/跳过管道中的任务。(任务级别)

检查 gradle 的跳过测试跳过任务,我认为这就是你要找的。

于 2020-03-02T06:52:01.890 回答
0

我知道已经有一段时间了,但也许有人觉得我的回答很有用,因为有办法做到这一点,至少它在项目中对我们有用。azure 的 Gradle 任务有一个“选项”参数,请参阅官方文档:

https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/build/gradle?view=azure-devops

在此处输入图像描述

这意味着您的最终解决方案将如下所示:

- task: Gradle@2
  inputs:
    workingDirectory: ''
    gradleWrapperFile: 'gradlew'
    gradleOptions: '-Xmx3072m'
    javaHomeOption: 'JDKVersion'
    jdkVersionOption: '1.8'
    jdkArchitectureOption: 'x64'
    tasks: 'generateAAR'
    options: '-x test -x integrationTest' // exclude both test and IT
  displayName: Generate AAR Lib
于 2020-12-16T08:15:03.267 回答