在 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
:
我在我的 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
: