2

我正在尝试运行一个运行 tmux 的 Ruby 程序来创建一个新会话。我正在用 Cucumber 测试这个。Ruby 程序本身可以正常工作并启动 tmux 会话,但是当从 Cucumber 场景运行代码时,我在 Cucumber 输出中的控制台上出现错误 - “不是终端”。

我知道这是由于 tmux 认为它没有在终端中运行,因为 isatty() 的返回值是 tmux 在启动时调用的。为什么在通过 Cucumber 运行时会发生这种情况,并且无论如何都在它周围,因为我真的希望能够用这些场景测试我的程序。

4

1 回答 1

0

如果我使用 -d 选项启动 tmux 会话“分离”,我似乎可以解决这个问题。我宁愿留在 tmux 会话中,但这是下一个最佳解决方案,这意味着我可以通过工作测试继续我的开发!

我仍然不确定为什么在通过 Cucumber 运行“tmux new-session”时收到“不是终端”消息,但当我直接在命令行上使用 ruby​​ 脚本时却没有...

于 2012-07-06T18:45:29.480 回答