gpt4 book ai didi

go - 缓冲测试输出

转载 作者:数据小太阳 更新时间:2023-10-29 03:29:08 25 4
gpt4 key购买 nike

当测试多个包时,go test 缓冲输出,除非出现故障,但是当进行基准测试时,它默认为流式输出。

From the 1.3 source :

    // stream test output (no buffering) when no package has
// been given on the command line (implicit current directory)
// or when benchmarking.
// Also stream if we're showing output anyway with a
// single package under test. In that case, streaming the
// output produces the same result as not streaming,
// just more immediately.
testStreamOutput = len(pkgArgs) == 0 || testBench ||
(len(pkgs) <= 1 && testShowPass)

我并没有真正将这种行为强加给用户,因为我没有看到在基准测试期间获得标准输出有多大用处。

这是我的测试命令的示例,它编译覆盖率配置文件并对单个包执行基准测试:

go test -bench=. -benchmem -covermode=count -coverprofile=main.coverprofile PACKAGE

我错过了什么吗?即使在进行基准测试时,如何覆盖此行为并缓冲输出?

最佳答案

如果您在基准测试期间编写输出,它将对基准测试结果产生影响。因此,它应该包含在基准中,而不应该被推迟或压制。如果您不想看到写入输出的效果,请更改您的基准。

关于go - 缓冲测试输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25041454/

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