你如何测试 golang 命令行输出

我想测试 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"

...输出Lost Angeles。所以,我想问题是,您如何对 golang 命令行应用程序的输出进行集成测试?


潇湘沐
浏览 237回答 2
2回答

蛊毒传说

如何test "$(./myapp -c "Los Angeles")" = "Los Angeles" 与同为-city。这与 Go 无关,只是让您的集成测试套件进行测试。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go