테스트하는 동안 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 테스트 작업에서 실행된다고 가정합니다.
$ gradle clean test
하거나 사용할 수 있습니다 . 자세한 내용은 문서 를 참조하십시오 . outputs.upToDateWhen {false}
testLogging
test { testLogging { outputs...
@roby 가 대답 했듯이 :
다음 코드를 귀하의 build.gradle
apply plugin : 'java'
test {
testLogging.showStandardStreams = true
}
중대한!
추가 된 clean
명령으로 gradle 테스트를 실행하거나 빌드해야합니다 .
./gradlew clean test
or
./gradlew clean build
작동하기를 바랍니다.
Android gradle 파일 내부에있는 경우 (build.gradle 파일 apply plugin: 'com.android.application'
의 맨 위에있는 경우 )
그런 다음 이것을 build.gradle에 붙여 넣으십시오.
// Test Logging
tasks.withType(Test) {
testLogging {
events "standardOut", "started", "passed", "skipped", "failed"
}
}
이것을 build.gradle에 붙여 넣으십시오.
// Test Logging
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이 작동 합니다.
자세한 내용 은 소스 를 참조하십시오.
showStandardStreams
순서에서 두 번째가 되면 다시 확인하기 위해 표준 스트림이 이벤트 목록에 추가 됩니까? 그런 것 같지만 두 번 확인하십시오.
Kotlin DSL을 사용 build.gradle.kts
하는 경우 구문이 약간 다릅니다.
종속성에 junit이 있는지 확인하십시오.
dependencies {
testImplementation("org.junit.jupiter:junit-jupiter:5.4.2")
testImplementation("org.junit.jupiter:junit-jupiter-api")
testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine")
}
그런 다음 테스트 작업에 추가해야합니다.
import org.gradle.api.tasks.testing.logging.TestExceptionFormat
tasks.test {
useJUnitPlatform()
testLogging {
showStandardStreams = true
exceptionFormat = TestExceptionFormat.FULL
events("skipped", "failed")
}
}
그런 다음 필요에 따라 설정을 조정할 수 있습니다.
제 경우에는 Java 및 Spring-boot-starter-test로 작업했습니다.
나는 같은 문제가 있었고 문제는 테스트 엔진이 없다는 것입니다.
그래서 build.gradle의 종속성에 하나를 추가하면 작동합니다.
testCompile 그룹 : 'org.junit.jupiter', 이름 : 'junit-jupiter-api', 버전 : dependencyVersion.junit5 testCompile 그룹 : 'org.junit.jupiter', 이름 : 'junit-jupiter-engine', 버전 : dependencyVersion .junit5