有些场景需要在cmd run测试case,写一个方法免去每次手动的操作,如果加上定时,还可以支持更多的场景,非常实用。代码如下:
func runappota(wg *sync.WaitGroup) {
cmd := exec.Command("bash")
in := bytes.NewBuffer(nil)
cmd.Stdin = in//绑定输入
var out bytes.Buffer
cmd.Stdout = &out //绑定输出
go func() {
in.WriteString("cd /home/hp/Mygo/src/ApiTest/request/\n go test -v appota_test.go conf.go request.go log.go")//写入你的命令,可以有多行,"\n"表示回车
// in.WriteString("go run main.go")//写入你的命令,可以有多行,"\n"表示回车
}()
err := cmd.Start()
if err != nil {
fmt.Println(err)
}
err = cmd.Wait()
if err != nil {
fmt.Println("Command finished with error: %v",err)
}
fmt.Println(out.String())
wg.Done()
}