测试 – Golang测试标准输出

测试 – Golang测试标准输出,第1张

概述我正在尝试测试一些打印ANSI转义码的函数.例如 // Print a line in a colorfunc PrintlnColor(color string, a ...interface{}) { fmt.Print("\x1b[31m") fmt.Print(a...) fmt.Println("\x1b[0m")} 我尝试使用Examples来做,但他们似乎 我正在尝试测试一些打印ANSI转义码的函数.例如

// Print a line in a colorfunc Printlncolor(color string,a ...interface{}) {    fmt.Print("\x1b[31m")    fmt.Print(a...)    fmt.Println("\x1b[0m")}

我尝试使用Examples来做,但他们似乎不喜欢转义码.

有没有办法测试写入stdout的内容?

解决方法 使用fmt.Fprint打印到io.Writer可以控制输出的写入位置.

var out io.Writer = os.Stdoutfunc main() {    // write to Stdout    Printlncolor("foo")    buf := &bytes.Buffer{}    out = buf    // write  to buffer    Printlncolor("foo")    fmt.Println(buf.String())}// Print a line in a colorfunc Printlncolor(a ...interface{}) {    fmt.Fprint(out,"\x1b[31m")    fmt.Fprint(out,a...)    fmt.Fprintln(out,"\x1b[0m")}

去play

总结

以上是内存溢出为你收集整理的测试 – Golang测试标准输出全部内容,希望文章能够帮你解决测试 – Golang测试标准输出所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/langs/1267733.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-08
下一篇2022-06-08

发表评论

登录后才能评论

评论列表(0条)

    保存