在编写输出到stdout的CLI工具时,我注意到,如果一个测试失败,那么其他也写到stdout的(成功的)测试也会被丢弃,这会产生误导。
这是预期的吗?还是应该在测试时将os.Stdout
设置为/dev/null
?但是testing
包如何找到要打印的内容?
答案 0 :(得分:2)
无论测试包是否通过,测试包都不会干扰标准代码的标准输出。如果对您来说看不到此输出很重要,则可以在执行特定测试时capture stdout,然后根据测试结果决定如何处理。
答案 1 :(得分:1)
尝试使用-failfast
。下面举一个例子。
$ go test -failfast -coverprofile=coverage.out -covermode=count <pkg path>