【问题标题】:How to configure build.gradle for testing in Android Studio with Eclipse folder structure?如何使用 Eclipse 文件夹结构在 Android Studio 中配置 build.gradle 进行测试?
【发布时间】:2016-12-27 13:41:51
【问题描述】:

我正在尝试将 JUnit 测试添加到从 Eclipse 项目迁移过来的 Android Studio 项目中。

我的 build.gradle 看起来像这样:

sourceSets {
    main {
        manifest.srcFile 'AndroidManifest.xml'
        java.srcDirs = ['src']
        resources.srcDirs = ['src']
        aidl.srcDirs = ['src']
        renderscript.srcDirs = ['src']
        res.srcDirs = ['res']
        assets.srcDirs = ['assets']
    }
}

我尝试模仿当前的 Android Studio 默认文件夹结构,将我的测试放在 src/test/java/com/mydomain/myapplication 中并将我的 sourceSets 设置为:

sourceSets {
    main {
        ...
    }
    test {
        java.srcDirs = ['src/test']
    }
}

但出现Empty test suitePackage name does not correspond to the file path 等错误。

【问题讨论】:

    标签: android eclipse android-studio junit build.gradle


    【解决方案1】:

    经过多次尝试和错误,我最终弄明白了。

    中指定的目录

    sourceSets {
        test {
            java.srcDirs = ['src/test']
        }
    }
    

    不能是main 源集的java.srcDirs 的子目录。

    sourceSets {
        main {
            java.srcDirs = ['src']
        }
    }
    

    我将测试文件夹移至项目文件夹结构的顶层,如下所示:

    myProject/
      src/
      res/
      tests/
    

    并将我的 sourceSets 配置为:

    sourceSets {
        main {
            ...
        }
        test {
            java.srcDirs = ['tests']
            resources.srcDir file('tests/com/mydomain/myapplication/resources')
        }
    }
    

    它奏效了。您放置在 tests/ 文件夹中的任何 JUnit 测试现在都将运行,但我选择将我的测试放置在 tests/com/mydomain/myapplication/ 目录中,以便当您在“Android”项目视图中查看它们时它们可以很好地分组。你可以看到我也指定了我的resources/ 目录。

    【讨论】:

      猜你喜欢
      • 2015-09-15
      • 2021-02-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-13
      • 2016-05-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多