我有一些 go 测试我想更新以使用 Ginkgo 进行 BDD 样式测试。问题是,服务器使用 stdout 和 stderr 进行日志记录,许多测试使用 Go 内置的“示例”测试框架,如下所示:
import (
"fmt"
)
func ExampleConsoleLog() {
fmt.Printf("Testing %d, %d, %d: %s\n", 1, 2, 3, "mike check")
// Output:
// Testing 1, 2, 3: mike check
}
我想使用 Ginkgo 和 Gomega 来断言这些被打印到标准输出,但是没有内置的匹配器可以告诉我这样做。Gomega 确实提供了一个gbytes
包,但没有关于如何将 gbytes.Buffer “附加”到 stdout 或 stderr 的文档。是否有我可以使用的自定义匹配器?