有些场景需要在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()


}