在编写输出到stdout的CLI工具时,我注意到,如果一个测试失败,那么其他(成功的)测试也会输出到stdout,这具有误导性。
这是意料之中的吗,还是我应该在测试时将os.Stdout
设置为/dev/null
?但是,testing
包如何找到要打印的内容呢?
发布于 2019-02-21 23:13:02
测试包不会干扰被测代码的标准输出,无论它是通过还是失败。如果不想看到这个输出很重要,那么可以在执行特定测试时使用capture stdout,然后根据测试结果决定如何处理它。
发布于 2019-02-22 02:45:46
尝试使用-failfast
。下面是一个例子。
$ go test -failfast -coverprofile=coverage.out -covermode=count <pkg path>
https://stackoverflow.com/questions/54810084
复制相似问题