我希望测试一个 Golang 命令行应用程序的输出,但是我不太确定如何使用 Go 的测试库来做到这一点。
假设我有一个像这样的程序:
我想测试这两个:
假设我有一个像这样的程序:
package main
import (
"flag"
"fmt"
)
func main() {
const (
cityDefault = "San Francisco"
cityDoc = "the city you want the forecast for"
)
var city string
flag.StringVar(&city, "city", cityDefault, cityDoc)
flag.StringVar(&city, "c", cityDefault, cityDoc)
flag.Parse()
fmt.Println(city)
}
我想测试这两个:
$ ./myapp -c "Los Angeles"
$ ./myapp -city "Los Angeles"
...输出失落的天使
。所以,我想问题是,如何集成测试golang命令行应用程序的输出?