我一直在努力解决unit-test-android问题很长一段时间。我看到了this,this和that,最后我找到了gradle-android-test-plugin,甚至让它发挥作用。我现在可以使用gradlew test
命令运行测试。
但是,在IDE(Android Studio或IntelliJ 13)中编写这些测试远非不舒服,因为它没有看到junit& Robolectric依赖项添加了testCompile
依赖项。
有没有办法将这些依赖项添加到IDE类路径中,但仍然避免将它们打包到生产应用程序中(因此,不能使用AFAIU compile
依赖项)?
答案 0 :(得分:1)
我今天对IntelliJ 14.1.3也有同样的问题。解决方案是运行概述here的步骤。基本上是:
testCompile 'junit:junit:4.+'
,etz src/test/java/...
testXxx
,其中Xxx
是构建类型(debug / release / etz)。这里的重要一步是构建变体"视图。将其更改为"单元测试"后,它将编制索引,并且您的库和完全自动完成功能可用。
答案 1 :(得分:0)
对于我的Android测试依赖项,我使用instrumentTestCompile而不是testCompile。在Android Studio中运行测试时,这适用于我。希望这会有所帮助。
答案 2 :(得分:0)
您可以使用内置的idea
插件。这应该为您设置测试依赖项。您需要导入插件:
apply plugin: 'idea'
然后运行gradle idea
,生成模块文件(*.iml
)并重新加载项目。请注意,您必须使用非基于目录的构思配置才能实现此目的。
答案 3 :(得分:0)
在IntelliJ IDEA中,您需要在build.gradle
// add idea plugin
apply plugin: 'idea'
// make sure `configurations.testCompile` is added to idea.module
idea {
module {
scopes.TEST.plus += [ configurations.testCompile ]
}
}
有关详细信息,请参阅: http://www.gradle.org/docs/current/dsl/org.gradle.plugins.ide.idea.model.IdeaModule.html
testCompile
中包含的任何依赖项都将自动导入IDEA。