2

我有 5 种口味映射到 2 个源文件夹,其中一些通用代码写在主文件夹中,b 文件夹有一些额外的 bean,我已经为其编写了单元测试,现在我想像主文件夹中的所有单元测试一样运行单元测试为 B 应用程序编写的一些特定单元测试。

1.我应该在哪里放置 B 应用程序的文件夹特定单元测试。我已经创建了一个文件夹 test 并将这些测试放在该文件夹中并添加

unitTest { java.srcDir file('src/b/test') }

在 B 应用程序的源集中,但不是这不起作用 2.我应该如何为单元测试放置映射,这些不是 android 测试,我已经厌倦了这个这个,但这些似乎是用于 Android 测试而不是用于单元测试。

productFlavors {
        staging {
            applicationIdSuffix = ".test"
            resValue "string", "app_name", "A Test"
            //other keys
        }
        prod {
            resValue "string", "app_name", "A"
            //other keys
        }
        dev {
            applicationIdSuffix = ".dev"
            resValue "string", "app_name", "A Dev"
            //other keys
        }

        BStaging {
            applicationIdSuffix = ".b.test"
            resValue "string", "app_name", "B Test"
         //other keys
        }

        BProd {
            applicationIdSuffix = ".b"
            resValue "string", "app_name", "B"
      //other keys
        }
    }

sourceSets {
        prod {
            java.srcDirs = ['src/a/java']
            res.srcDirs = ['src/a/res']
            resources.srcDirs = ['src/a/java']
            manifest.srcFile 'src/a/AndroidManifest.xml'
        }
        dev {
            java.srcDirs = ['src/a/java']
            res.srcDirs = ['src/a/res']
            resources.srcDirs = ['src/a/java']
            manifest.srcFile 'src/a/AndroidManifest.xml'
        }
        staging {
            java.srcDirs = ['src/a/java']
            res.srcDirs = ['src/a/res']
            resources.srcDirs = ['src/a/java']
            manifest.srcFile 'src/a/AndroidManifest.xml'
        }
        BStaging {
            java.srcDirs = ['src/b/java']
            res.srcDirs = ['src/b/res']
            resources.srcDirs = ['src/b/java']
            manifest.srcFile 'src/b/AndroidManifest.xml'
        }
        BProd {
            java.srcDirs = ['src/b/java']
            res.srcDirs = ['src/b/res']
            resources.srcDirs = ['src/b/java']
            manifest.srcFile 'src/b/AndroidManifest.xml'

        }
    }
4

1 回答 1

1

如果您有像这样创建的产品风格构建类型。

buildTypes {
        release {
            ...
        }

        debug {
            debuggable true
        }
    }

    productFlavors {
        develop {

        }

        production {

        }
    }

您可以在工作室终端中使用此命令运行基于风味的测试。

  • 对于开发风格和调试构建:./gradlew testDevelopDebugUnitTest
  • 对于开发风格和发布版本:./gradlew testDevelopReleaseUnitTest


所以模式就像test< Flavor >< BuildType >UnitTest

于 2017-03-27T05:55:14.670 回答