在Rails单元测试中输出(放置,打印)

Ale*_*dre 19 unit-testing ruby-on-rails

运行ActiveSupport :: TestCase测试时,如何在控制台中显示诸如puts和print之类的命令?

如果我不能通过几种方法输出某些检查,则很难调试.

谢谢!

Bal*_*ldu 28

您可以使用rails logger查看输出:

Rails::logger.debug "Interesting stuff"
Run Code Online (Sandbox Code Playgroud)

tail -f log/test.log在命令行上运行(从单独的"终端"选项卡或窗口中的项目根目录)以查看结果.

  • 在rails 3中,如果使用rake-trace运行测试,则可以看到puts输出 (2认同)
  • 在Rails 5中,这对我不起作用。是否更改了日志记录? (2认同)

Mr *_*phe 7

我刚刚在rails(3.2)下苦苦挣扎.我不知道版本之间的情况如何变化,但答案实际上并没有回答这个问题.而是使用

$stdout.puts msg
Run Code Online (Sandbox Code Playgroud)

运行单个测试时,输出到控制台以及其他控制台消息.