我在android studio项目中添加了一个单元测试文件夹。默认文件夹是andoidTest,但我在测试中添加了一个新文件夹和名称。 (like robolectric sample tests)
当我在build.gradle中的模块(如
)下添加测试依赖项时testCompile("junit:junit:${junitVersion}")
testCompile ("org.robolectric:robolectric:${robolectricVersion}")
它们不会被添加到项目下的外部库中,但是当我使用默认配置并使用androidTestCompile
时,它可以添加外部库。
然后我想也许我应该在gradle中使用setRoot进行测试,所以我在build.gradle的android标签中使用了以下内容:
sourceSets {
androidTest.setRoot('src/test')
}
但仍然存在问题。我可以使用gradlew
运行测试,但测试文件夹中的类中的导入不适用,也不会显示用于测试目的的外部库。
任何人都有解决此问题的方法吗?
答案 0 :(得分:6)
您的Gradle脚本几乎没问题,但请尝试这样做:
sourceSets {
androidTest.setRoot('src/test')
androidTest {
java.srcDirs = ['src/test/java']
}
}
答案 1 :(得分:6)
我正在寻找并且没有找到我认为已经涵盖过的答案。所以决定为未来创造一个新的。
<强>答案强> Android Studio目前尚未自动获取单元测试。我知道它的计划是1.3版本。
因此,您必须在Android Instrumental Tests
工具窗口中将测试工件值从Unit Tests
更改为Build Variants
: