Development Tip

Gradle을 통해 테스트하는 동안 로깅

yourdevel 2020. 11. 23. 20:16
반응형

Gradle을 통해 테스트하는 동안 로깅


테스트하는 동안 Gradle은 stdout / stderr을 project_dir/build/reports/tests/index.html. 이 리디렉션을 피하고 대신 콘솔에 인쇄되는 방법이 있습니까?

추가 정보:

  • Scala 2.9.1 프로젝트입니다.
  • 로깅을 위해 slf4s사용 하고 있습니다.

apply plugin : 'java'

test {
    testLogging.showStandardStreams = true
}

http://gradle.org/docs/current/dsl/org.gradle.api.tasks.testing.Test.html

현재 Gradle 버전이 필요합니다. Scala 테스트가 Java 테스트 작업에서 실행된다고 가정합니다.


( testLogging.exceptionFormat = 'full') 도 사용하고 있습니다 .

test {
    testLogging.showStandardStreams = true
    testLogging.exceptionFormat = 'full'
}

stacktrace에서 더 많은 것을 보는 것이 좋습니다.


Android Gradle 파일의 경우

Android gradle 파일 내부에있는 경우 (build.gradle 파일 apply plugin: 'com.android.application'의 맨 위에있는 경우 )

그런 다음 이것을 build.gradle에 붙여 넣으십시오.

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

일반 Gradle 파일의 경우

이것을 build.gradle에 붙여 넣으십시오.

// Test Logging
test {
    testLogging {
        showStandardStreams = true
    }
}

@roby 가 대답 했듯이 :

다음 코드를 귀하의 build.gradle

apply plugin : 'java'

test {
    testLogging.showStandardStreams = true
}

중대한!

추가 된 clean명령으로 gradle 테스트를 실행하거나 빌드해야합니다 .

./gradlew clean test

or

./gradlew clean build

작동하기를 바랍니다.


test {
    testLogging.showStandardStreams = true
}

test {
    testLogging {
        showStandardStreams = true
    }
}

또한 작동합니다.


추가하면 다음과 같습니다.

showStandardStreams = true

다음의 약어 입니다.

events = ["standard_out", "standard_error"]

다음과 같이 두 항목을 혼합 할 때이를 염두에 두는 것이 중요합니다.

test {
    testLogging {
        showStandardStreams = true
        events = ["passed", "failed", "skipped"]
    }
}

반대 순서는 stdout 이 발생 하지 않습니다 .

test {
    testLogging {
        events = ["passed", "failed", "skipped"]
        showStandardStreams = true
    }
}

stdout 항목을 목록에 추가하므로 stdout이 작동 합니다.

자세한 내용 은 소스 를 참조하십시오.


제 경우에는 Java 및 Spring-boot-starter-test로 작업했습니다.

나는 같은 문제가 있었고 문제는 테스트 엔진이 없다는 것입니다.

그래서 build.gradle의 종속성에 하나를 추가하면 작동합니다.

testCompile group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: dependencyVersion.junit5 testCompile group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: dependencyVersion.junit5

참고URL : https://stackoverflow.com/questions/9356543/logging-while-testing-through-gradle

반응형