相关疑难解决方法(0)

如何在Go(lang)测试中捕获或抑制stdout?

如何在Go测试中捕获或抑制stdout?

我正在努力教自己去(郎)测试.在下面的代码中,myshow.LoadPath向stdout打印了大量信息(这是一种正常的副作用).但是,当我运行"go test"时,它会产生非常嘈杂的输出吗?有没有办法来抑制或捕获标准输出?

为了比较,我正在考虑来自python世界的这样的事情.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())

}
Run Code Online (Sandbox Code Playgroud)

go

7
推荐指数
4
解决办法
4310
查看次数

如何将os.Stdout输出复制到字符串变量

我有这样的功能:

package main

import (
    "fmt"
)

// PrintSomething prints some thing
func PrintSomething() {
    fmt.Println("print something")
}

func main() {
    PrintSomething()
}
Run Code Online (Sandbox Code Playgroud)

如何将PrintSomething包装到另一个函数调用CaptureSomething以将字符串"print something"保存到变量并返回它?

go output

1
推荐指数
1
解决办法
917
查看次数

标签 统计

go ×2

output ×1