如何在rspec测试中输出变量?

时间:2011-05-17 03:04:24

标签: ruby-on-rails rspec

在rspec测试中是否有快速输出变量值的方法?例如,在控制器中输出变量,我这样做:

raise variable.to_yaml

我是否可以在rspec测试中查看变量的内容?

4 个答案:

答案 0 :(得分:65)

如果您希望输出进入日志文件(即logs / test.log),则可以使用rails logger。

Rails.logger.debug variable.inspect
Rails.logger.debug variable.to_yaml

如果要在控制台中查看输出,可以使用漂亮的打印机'pp'。

require 'pp'

it 'does something'
  thing = Factory(:something)
  pp thing
end

或者你可以使用好的'ol puts

puts thing.to_yaml

答案 1 :(得分:5)

此时(Rails 4)您可以记录它:

p variable

答案 2 :(得分:1)

使用此:

$stderr.puts variable.to_yaml

答案 3 :(得分:0)

您可以使用gem pry进行

  1. 在宝石文件中添加宝石“撬”
  2. bundle install

现在,您可以通过在变量之后放置“ binding.pry”来测试任何变量。运行bundle exec rspec filepath,您会得到类似rails c的信息,然后直接编写变量。

我希望这是有道理的