我如何从Gradle测试中排除Android Project子模块的测试

时间:2019-09-11 12:10:57

标签: android android-gradle-plugin

我的Android应用程序中有一个库(A)作为子模块。

android-app
   |---app
   |    |
   |    |--main
   |    |--test
   |
   |--library(A)
        |
        |--main
        |--test

当我尝试运行gradlew test时,它正在执行libarary(A)的测试用例以及我的应用测试用例。

如何从gradle执行中排除我的图书馆项目测试用例。

1 个答案:

答案 0 :(得分:1)

    buildTypes {
        debug {
            //disable crashlytics build id every time for development
            ext.alwaysUpdateBuildId = false

            // Run code coverage reports by default on debug builds.
            testCoverageEnabled = true
        }

        release {
            minifyEnabled true
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.release
        }
    }
    //publishNonDefault true
    productFlavors {
        beta {
            //applicationIdSuffix ".beta"
            versionNameSuffix "-beta"
            dimension "green"
        }

        production {
            applicationId "com.example"
            dimension "green"
        }
    }

让我们假设您具有构建类型(调试和发布)和风味(beta和生产)。

./gradlew testProductionReleaseUnitTest --tests "com.example.*"

  

./gradlew test+{build_type}+{build_flavor}+UnitTest --tests "com.example.*"

这只会仅在com.example软件包目录中执行Production Flavor Release构建配置单元测试用例。

使用上述Gradle脚本,您可以避免在库项目中运行测试用例。