无法解析符号testLogging、events、exceptionFormat- Gradle

5
我正在尝试按照这篇文章https://dev59.com/sW865IYBdhLWcg3wIrFg#36130467将更多日志打印到我的控制台,但我一直收到以下错误信息:

  1. 无法解析符号testLogging
  2. 无法解析符号events
  3. 无法解析符号exceptionFormat
  4. 无法解析符号debug等。

以下是我的代码

build.gradle文件:

import org.gradle.api.tasks.testing.logging.TestExceptionFormat
import org.gradle.api.tasks.testing.logging.TestLogEvent

    apply plugin: 'groovy'
    apply plugin: 'idea'
    apply plugin: 'java'

    repositories {
        jcenter()
        mavenCentral()
    }


    tasks.withType(Test) {


        testLogging {
            // set options for log level LIFECYCLE
            events TestLogEvent.FAILED,
                    TestLogEvent.PASSED,
                    TestLogEvent.SKIPPED,
                    TestLogEvent.STANDARD_OUT
            exceptionFormat TestExceptionFormat.FULL
            showExceptions true
            showCauses true
            showStackTraces true

            // set options for log level DEBUG and INFO
            debug {
                events TestLogEvent.STARTED,
                        TestLogEvent.FAILED,
                        TestLogEvent.PASSED,
                        TestLogEvent.SKIPPED,
                        TestLogEvent.STANDARD_ERROR,
                        TestLogEvent.STANDARD_OUT
                exceptionFormat TestExceptionFormat.FULL
            }
            info.events = debug.events
            info.exceptionFormat = debug.exceptionFormat

            afterSuite { desc, result ->
                if (!desc.parent) { // will match the outermost suite
                    def output = "Results: ${result.resultType} (${result.testCount} tests, ${result.successfulTestCount} successes, ${result.failedTestCount} failures, ${result.skippedTestCount} skipped)"
                    def startItem = '|  ', endItem = '  |'
                    def repeatLength = startItem.length() + output.length() + endItem.length()
                    println('\n' + ('-' * repeatLength) + '\n' + startItem + output + endItem + '\n' + ('-' * repeatLength))
                }
            }
        }
    }

    dependencies {
        testImplementation group: 'org.codehaus.groovy', name: 'groovy-all', version:'2.4.10'
        testImplementation group: 'org.spockframework', name: 'spock-unitils', version:'1.1-groovy-2.4-rc-4'
    }

是的,我有。如果我不被允许使用库,那该怎么办?同时,我仍然想知道我的脚本有什么问题。 - Jay F.
1个回答

1

使用 JUnit 5Gradle 6,以下 test 任务定义将打印测试的名称和结果:

test {
    useJUnitPlatform()
    testLogging.events.addAll([TestLogEvent.PASSED, TestLogEvent.SKIPPED, TestLogEvent.FAILED])
}

如果您想要有关测试结果的汇总信息,可以使用以下版本的test任务。这将在所有测试完成后添加以下报告。
----------------------------------------------------------------------
|  Results: SUCCESS (95 tests, 95 successes, 0 failures, 0 skipped)  |
----------------------------------------------------------------------

test {
    useJUnitPlatform()
    testLogging.events.addAll([TestLogEvent.PASSED, TestLogEvent.SKIPPED, TestLogEvent.FAILED])
    testLogging {
        afterSuite { desc, result ->
            if (!desc.parent) { // group the results in one
                def output = "Results: ${result.resultType} (" +
                        "${result.testCount} tests, " +
                        "${result.successfulTestCount} successes, " +
                        "${result.failedTestCount} failures, " +
                        "${result.skippedTestCount} skipped)"
                def startItem = '|  ', endItem = '  |'
                def repeatLength = startItem.length() + output.length() + endItem.length()
                println('\n' + ('-' * repeatLength) + '\n' + startItem + output + endItem + '\n' + ('-' * repeatLength))
            }
        }
    }
}

我建议查看以下文档:

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接