Android Studio 1.4 不允许 Android 模块依赖于 Java 测试模块
Android Studio 1.4 doesn't allow Android Module dependency on Java Test modules
我有一组测试(用于我的 Android 应用程序),可以 运行 在 Junit 方法中(右键单击 testClass 文件并 运行 它)在 Android 工作室。它确实依赖 Android 模块并使用 Robolectric。它在 Android Studio 1.3.1.
之前一直有效
然而,当我迁移到 Android Studio 1.4 时,当我同步我的 Gradle 文件时,出现了这个警告
Warning:Ignoring dependency of module 'app' on module 'unit-tests'. Java modules cannot depend on Android modules
有了这个,我的测试也不再被触发,因为我所有的 Android 类 例如不再检测到 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
}
在同一问题 https://code.google.com/p/android/issues/detail?id=188880&q=label%3AReportedBy-Developer&colspec=ID%20Type%20Status%20Owner%20Summary%20Stars 上找到了这个 link。
如果这是新的 Android Studio 1.4 行为,我的 gradle 文件中有问题,或者只是一个新的 Android Studio 1.4 错误,有人可以解释一下吗?
解决方法
恢复到 Android Studio v1.3.1
似乎,等待 Robolectric 的修复,使用 Android Studio GUI 的唯一解决方法是恢复到 Android Studio v1.3.1(最后一个版本工作,如前所述),没有错误消息。
可以在这里下载:http://tools.android.com/download/studio/stable
使用Gradle执行单元测试
另一种方法是 运行 通过命令行直接在 Gradle 中进行单元测试。从项目的根目录(即 settings.gradle 和 local.properties 文件所在的同一目录),运行:
./gradlew test
我有一组测试(用于我的 Android 应用程序),可以 运行 在 Junit 方法中(右键单击 testClass 文件并 运行 它)在 Android 工作室。它确实依赖 Android 模块并使用 Robolectric。它在 Android Studio 1.3.1.
之前一直有效然而,当我迁移到 Android Studio 1.4 时,当我同步我的 Gradle 文件时,出现了这个警告
Warning:Ignoring dependency of module 'app' on module 'unit-tests'. Java modules cannot depend on Android modules
有了这个,我的测试也不再被触发,因为我所有的 Android 类 例如不再检测到 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
}
在同一问题 https://code.google.com/p/android/issues/detail?id=188880&q=label%3AReportedBy-Developer&colspec=ID%20Type%20Status%20Owner%20Summary%20Stars 上找到了这个 link。
如果这是新的 Android Studio 1.4 行为,我的 gradle 文件中有问题,或者只是一个新的 Android Studio 1.4 错误,有人可以解释一下吗?
解决方法
恢复到 Android Studio v1.3.1
似乎,等待 Robolectric 的修复,使用 Android Studio GUI 的唯一解决方法是恢复到 Android Studio v1.3.1(最后一个版本工作,如前所述),没有错误消息。
可以在这里下载:http://tools.android.com/download/studio/stable
使用Gradle执行单元测试
另一种方法是 运行 通过命令行直接在 Gradle 中进行单元测试。从项目的根目录(即 settings.gradle 和 local.properties 文件所在的同一目录),运行:
./gradlew test