测试不会在 Gradle-Appengine-Plugin / Android Studio 3.0 / Gradle


升级到Android Studio

3.0/Gradle 4.1后,我发现我无法再在Android Studio中运行Appengine模块的jUnit测试。 gradle 控制台报告:

Class not found: "com.example.test.PackageName"Empty test suite.

类文件是在我从 Android 工作室运行时生成的,我仍然可以从命令行运行测试。

怀疑问题与我从命令行运行时看到的此日志行有关:

setTestClassesDir(File) method has been deprecated and is scheduled to be removed in Gradle 5.0. Please use the setTestClassesDirs(FileCollection) method instead.

GitHub 上的 gradle-appengine-plugin 项目中有此问题的票证,但它未连接到 Android Studio。

我假设这里的某个地方有一个错误,但也许有人有解决方法。

https://cloud.google.com/tools/android-studio/docs/上有以下信息:

"Android Studio 3.0 不支持创建基于 App Engine 的云后端;但是,您现有的云后端项目将继续在Android Studio中工作。

我的应用引擎后端不起作用。我正在尝试迁移到IntelliJ Idea的免费社区版本,如下所述:https://cloud.google.com/tools/intellij/docs/migrate

这只是部分解决方案,但在appengine模块的build.gradle文件中注释掉这些行对我有用:

在一般范围内:

apply plugin: 'appengine'

以及所有appengine范围:

appengine {
    downloadSdk = true
    appcfg {
        oauth2 = true
    }
    endpoints {
        getClientLibsOnBuild = false
        getDiscoveryDocsOnBuild = false
    }
}

dependencies范围内:

appengineSdk "com.google.appengine:appengine-java-sdk:${rootProject.ext.appengineSdkVersion}"

在本地测试代码时,我会注释掉这些行,并在部署之前取消注释它们。

  • 请记住,build.gradle 文件中的 appengine 配置可能略有不同。

最新更新