Ruby Tmux不会从Cucumber场景内运行-产生错误';不是终端';

Ruby Tmux不会从Cucumber场景内运行-产生错误';不是终端';,ruby,cucumber,tmux,Ruby,Cucumber,Tmux,我正在尝试运行一个运行tmux的Ruby程序来创建一个新会话。我正在用黄瓜做测试。Ruby程序本身工作正常并启动tmux会话,但是当代码从Cucumber场景运行时,我在控制台上的Cucumber输出中得到一个错误-“不是终端” 我理解这是因为tmux认为它没有在终端中运行,因为tmux在启动时调用了isatty()的返回值。为什么在运行Cucumber时会发生这种情况?我真的希望能够使用这些场景测试我的程序。如果我使用-d选项“分离”启动tmux会话,似乎可以解决这个问题。我更愿意留在tmux

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


我理解这是因为tmux认为它没有在终端中运行,因为tmux在启动时调用了isatty()的返回值。为什么在运行Cucumber时会发生这种情况?我真的希望能够使用这些场景测试我的程序。如果我使用-d选项“分离”启动tmux会话,似乎可以解决这个问题。我更愿意留在tmux会话中,但这是下一个最好的解决方案,这意味着我可以通过工作测试继续我的开发


我仍然不确定为什么在通过Cucumber运行“tmux new session”时会收到“not a terminal”消息,但在直接使用命令行上的ruby脚本时却不会收到消息…

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


我仍然不知道为什么我在通过Cucumber运行“tmux new session”时会收到“not a terminal”消息,但在我直接使用命令行上的ruby脚本时却不会收到此消息…

您可以在中启动tmux。@Stefan感谢您的建议-我确实希望tmux在当前的真实终端中启动,即使是用于测试。我同意在Cucumber测试中使用真实终端,因为我希望看到它真正调用tmux。您可以在中启动tmux。@Stefan感谢您的建议-我确实希望tmux在当前真实终端中启动,即使是在测试中。我可以使用真正的终端进行Cucumber测试,因为我希望看到它真正调用tmux。