Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将ruby诅咒重定向到/dev/null_Ruby_Rspec_Curses - Fatal编程技术网

将ruby诅咒重定向到/dev/null

将ruby诅咒重定向到/dev/null,ruby,rspec,curses,Ruby,Rspec,Curses,我正在尝试为使用Ruby的Curses库的应用程序编写规范。诅咒显然垄断了终端屏幕,所以我尝试将rspec的输出重定向到一个文件。这在很大程度上是可行的,但是我的一些失败的规范缺少信息,我认为RSpec正在将它的一些输出打印到$stdout 我尝试过将Curses库配置为不打印到屏幕上,但没有效果。有没有办法禁用Curses输出以便测试可以正常运行?尝试,当您决定恢复Curses输出时,调用Curses。refresh我有一个配置标志,指定是否执行Curses输出。对于单元测试,我禁用curse

我正在尝试为使用Ruby的Curses库的应用程序编写规范。诅咒显然垄断了终端屏幕,所以我尝试将rspec的输出重定向到一个文件。这在很大程度上是可行的,但是我的一些失败的规范缺少信息,我认为RSpec正在将它的一些输出打印到$stdout


我尝试过将Curses库配置为不打印到屏幕上,但没有效果。有没有办法禁用Curses输出以便测试可以正常运行?

尝试,当您决定恢复Curses输出时,调用Curses。refresh

我有一个配置标志,指定是否执行Curses输出。对于单元测试,我禁用curses输出

此外,在运行时,我测试stdout和stderr是否为tty;如果没有,它们将被重定向到文件,我不希望输出诅咒。它看起来像这样:

  def do_curses_output?
    $stdin.isatty && $stdout.isatty && want_curses_output
  end

  def foo
    if do_curses_output?
      # ... do the curses stuff
    end
  end

-Keith尝试了这一点,虽然rspec格式已经完全关闭,但确实有所帮助。你知道怎么重置吗?似乎断线没有得到尊重。