在Android studio中为单元测试配置测试文件夹

时间:2015-06-29 13:08:54

标签: android unit-testing gradle android-gradle robolectric

我在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运行测试,但测试文件夹中的类中的导入不适用,也不会显示用于测试目的的外部库。

任何人都有解决此问题的方法吗?

2 个答案:

答案 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 Variantsenter image description here

相关问题