我正在尝试将 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 suite
和Package name does not correspond to the file path
等错误。
最佳答案
经过反复试验,我终于弄明白了。
指定的目录
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”项目 View 中查看它们时,它们会很好地分组。您可以看到这也是我指定我的 resources/
目录的地方。
关于android - 如何配置 build.gradle 以在具有 Eclipse 文件夹结构的 Android Studio 中进行测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39055236/