【发布时间】:2011-05-17 03:04:23
【问题描述】:
有没有一种快速的方法可以在 rspec 测试中输出变量的值?像这样的事情,例如,在控制器中输出一个变量,我这样做:
raise variable.to_yaml
我可以在 rspec 测试中做类似的事情来查看变量的内容吗?
【问题讨论】:
标签: ruby-on-rails rspec
有没有一种快速的方法可以在 rspec 测试中输出变量的值?像这样的事情,例如,在控制器中输出一个变量,我这样做:
raise variable.to_yaml
我可以在 rspec 测试中做类似的事情来查看变量的内容吗?
【问题讨论】:
标签: ruby-on-rails rspec
如果您希望输出进入日志文件(即logs/test.log),您可以使用rails 记录器。
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
【讨论】:
pp 选项和to_yaml 选项都没有。
此时(Rails 4)你可以记录它:
p variable
【讨论】:
使用这个:
$stderr.puts variable.to_yaml
【讨论】:
你可以使用 gem pry 来做到这一点
bundle install现在您可以通过在变量之后放置“binding.pry”来测试任何变量。运行bundle exec rspec filepath,你会得到类似rails c的东西,然后直接写你的变量。
我希望它有意义
【讨论】: