如何解决如何在测试中运行交互式命令
我想在 Go 中运行一个交互式程序,在 Stackoverflow 中有无数关于它的问题,但他们所做的是替换当前的标准输入和输出,但我想要的是在没有人工交互的情况下在测试中运行这个交互式程序,我像这样运行程序:
path := CustomUtils.SSSHExecPath()
c := exec.Command(path,"-mode=proxy","-command=Terminal")
reader,e := c.StdoutPipe()
e = c.Start()
if e != nil {
t.Fatal(e)
}
defer c.Process.Kill()
b := make([]byte,1024*4)
n,e := reader.Read(b)
if e != nil {
t.Fatal(e)
}
fmt.Println(string(b[:n]))
但是当我想读取程序的输出时,流总是关闭的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。