Android studio Android Studio 1.4没有';不允许Android模块依赖于Java测试模块
我有一套测试(针对我的Android应用程序),可以在Android Studio中以Junit方法运行(右键单击testClass文件并运行它)。它确实依赖于Android模块,并使用机器人分子。它一直工作到Android Studio 1.3.1 然而,当我迁移到Android Studio 1.4时,当我同步我的Gradle文件时,会出现这个警告Android studio Android Studio 1.4没有';不允许Android模块依赖于Java测试模块,android-studio,gradle,junit,junit4,robolectric,Android Studio,Gradle,Junit,Junit4,Robolectric,我有一套测试(针对我的Android应用程序),可以在Android Studio中以Junit方法运行(右键单击testClass文件并运行它)。它确实依赖于Android模块,并使用机器人分子。它一直工作到Android Studio 1.3.1 然而,当我迁移到Android Studio 1.4时,当我同步我的Gradle文件时,会出现这个警告 Warning:Ignoring dependency of module 'app' on module 'unit-tests'. Java
Warning:Ignoring dependency of module 'app' on module 'unit-tests'. Java modules cannot depend on Android modules
这样,我的测试也就不能再被触发了,因为我所有的安卓类,比如AppCompat,都不再被检测到了
我的部分gradle代码如下所示,其中:app是我的android模块
def androidModule = project(':app')
dependencies {
testCompile androidModule
//... some other dependency
testCompile 'junit:junit:4.12'
testCompile 'org.robolectric:robolectric:2.4'
testCompile 'org.mockito:mockito-all:1.9.5'
//... some other dependency
}
在同一问题上找到此链接
如果这是新的Android Studio 1.4行为,我的gradle文件中有什么错误,或者只是一个新的Android Studio 1.4 bug,有人能解释一下吗?解决方法
恢复到Android Studio v1.3.1
看来,在等待Robolectric的修复之前,使用Android Studio GUI的唯一解决办法是恢复到Android Studio v1.3.1(如前所述,是最新版本),该版本在没有错误消息的情况下工作
可在此处下载:
使用Gradle执行单元测试
另一种方法是通过命令行直接在Gradle中运行单元测试。从项目的根目录(即settings.gradle和local.properties文件所在的同一目录)运行:
有趣的是,“org.roblectric:roblectric:2.4”也出现了这种情况。我有robolectric v3.0,它也失败了。我还更新了Android Studio v1.5预览版,但它也不起作用。这真是太糟糕了。。。哇,工作了,这是一个大倒退。我仍然坚持我的1.3.1,因为这个。。。也许你可以考虑对以上问题进行投票,以引起更多的关注。在2预告片中,同样的问题依然存在。这些都是我现在使用的变通方法。谢谢你的确认。向上投票并勾选:)
./gradlew test