找不到Gradle DSL方法:test()

时间:2015-07-07 17:56:13

标签: unit-testing android-studio gradle

尝试在Android-Studio 1.2中的build.gradle文件末尾添加以下代码(如this post中所述):

test {
    testLogging {
        events "passed", "skipped", "failed", "standardOut", "standardError"
    }
}

但得到了:

Error:(40, 0) Gradle DSL method not found: 'test()'
Possible causes:
- The project 'xxxxx' may be using a version of Gradle that does not contain the method.
- The build file may be missing a Gradle plugin.

我错过了什么?

1 个答案:

答案 0 :(得分:15)

gradle文档:https://docs.gradle.org/current/dsl/org.gradle.api.tasks.testing.Test.html

表示'测试'任务来自java插件:

apply plugin: 'java' // adds 'test' task

这就像你说的com.android.application插件冲突一样。

<强>解决方案

我终于找到了如何做到这一点。您可以将其应用于所有类型为&#39;测试&#39;的任务,而不是将日志记录更改应用于测试任务(仅可从java插件中获取)。如下:

//Test Logging
tasks.withType(Test) {
    testLogging {
        events "started", "passed", "skipped", "failed"
    }
}

现在,当您运行./gradlew test时,您应该在处理测试时记录这些事件。