如何捕获或抑制标准输出以进行 Go 测试?
我正在尝试自学 go(lang) 测试。在下面的代码中,myshow.LoadPath 将大量信息打印到 stdout(这是正常的副作用)。然而,当我运行“go test”时,它确实会产生非常嘈杂的输出有没有办法抑制或捕获标准输出?
为了进行比较,我正在考虑Python世界中类似的事情。http://pytest.org/latest/capture.html#captures http://pytest.org/latest/capture.html#captures
package slideshow_test
import (
"os"
"testing"
"github.com/golliher/go-hpf/slideshow"
)
func setupTest() {
myshow := slideshow.Slideshow{Name: "This is my show"}
myshow.LoadPath("..")
}
func TestStub(t *testing.T) {
if true == false {
t.Fail()
}
}
func TestMain(m *testing.M) {
setupTest()
os.Exit(m.Run())
}
os.Stdout
这是由fmt.Printf
而其他的只是一个变量。因此您可以随时覆盖它并在必要时恢复它。https://golang.org/pkg/os/#pkg-variables https://golang.org/pkg/os/#pkg-variables
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)