gpt4 book ai didi

testing - 在 gradle 测试期间,仅针对失败的测试显示标准输出和错误

转载 作者:行者123 更新时间:2023-11-28 19:47:22 24 4
gpt4 key购买 nike

我有一个在 travis-ci 上运行的大型测试套件,它有一个文本输出。我想以仅针对失败测试的方式配置 gradle,显示标准输出和标准错误流。对于已正确执行的所有其他测试,这不应该发生,这样控制台就不会被该噪音污染。

我知道如何启用或禁用标准输出/错误日志记录,但我不确定如何使它依赖于测试结果。

最佳答案

这可以通过以下 gradle 配置进行归档

project.test {
def outputCache = new LinkedList<String>()

beforeTest { TestDescriptor td -> outputCache.clear() } // clear everything right before the test starts

onOutput { TestDescriptor td, TestOutputEvent toe -> // when output is coming put it in the cache
outputCache.add(toe.getMessage())
while (outputCache.size() > 1000) outputCache.remove() // if we have more than 1000 lines -> drop first
}

/** after test -> decide what to print */
afterTest { TestDescriptor td, TestResult tr ->
if (tr.resultType == TestResult.ResultType.FAILURE && outputCache.size() > 0) {
println()
println(" Output of ${td.className}.${td.name}:")
outputCache.each { print(" > $it") }
}
}
}

Git 存储库:https://github.com/calliduslynx/gradle-log-on-failure

原文地址:https://discuss.gradle.org/t/show-stderr-for-failed-tests/8463/7

关于testing - 在 gradle 测试期间,仅针对失败的测试显示标准输出和错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36558340/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com