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

Configure test folder for unit testing in Android studio

我在我的 android 工作室项目中添加了一个用于单元测试的文件夹。默认文件夹是 andoidTest 但我在 test 中添加了一个新文件夹和名称。 (like robolectric sample tests)

当我在 build.gradle 模块下添加测试依赖时,例如

testCompile("junit:junit:${junitVersion}")
testCompile ("org.robolectric:robolectric:${robolectricVersion}")

项目下不会添加到外部库,但是当我使用默认配置并使用androidTestCompile时,它可以添加外部库。

然后我想也许我应该为 gradle 中的测试设置根目录,所以我在 build.gradle 中的 android 标签中使用了以下内容:

sourceSets {
        androidTest.setRoot('src/test')
}

但问题依然存在。我可以 运行 使用 gradlew 进行测试,但是测试文件夹中 类 中的导入不适用,也没有用于测试目的的外部库可见。

有人对此问题有任何解决方案吗?

您的 Gradle 脚本几乎没问题,但请尝试这样做:

sourceSets {
    androidTest.setRoot('src/test')
    androidTest {
        java.srcDirs = ['src/test/java']
    }
}

我正在搜索,但没有找到我认为已经涵盖的答案。所以决定为未来创造一个新的。

回答 Android Studio 现在不会自动选取单元测试。我知道它计划用于 1.3 版本。

因此您必须在 Build Variants 工具 window 中将测试工件值从 Android Instrumental Tests 更改为 Unit Tests