在rspec测试中有没有快速输出变量值的方法?例如,在控制器中,我要执行以下操作:

raise variable.to_yaml

在rspec测试中,我是否可以做类似的事情来查看变量的内容?

推荐答案

如果希望输出进入日志(log)文件(即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

Ruby-on-rails相关问答推荐

在has_many关系中由两个条件 Select

如何修改使用Google Cloud App Engine部署rails 7应用程序的步骤

Puma 工作人员无法在 Ubuntu 20.04 VM 上的 Rails 5.2 中启动

使用嵌套属性时如何自动将父 ID 分配为外键?

来自控制台的 ActionCable.server.broadcast

基于 2 列定义唯一主键

Rails(或 Ruby):Yes/No 而不是 True/False

Rails 3:验证组合值

从 Rails 模型内部访问翻译文件 (i18n)

Rails:使用 link_to 创建不带 href 的链接

我如何找出为什么我不能#destroy() 记录?

RubyMine - 关闭在空行中间单击的功能

如何覆盖:在 has_many 中定义的顺序

如何强制 RSpec 测试失败?

即使X-Frame-Options为ALLOWALL,也无法在 iframe 中显示我的 rails 4 应用程序

您可以在弹性 beantalk 环境中运行 rails 控制台或 rake 命令吗?

Rails - 邮件,将正文作为纯文本获取

如何在 Rails 表单中将复选框和标签保持在同一行?

Rails:您已经激活了 rake 10.3.1,但您的 Gemfile 需要 rake 10.2.2 (Gem::LoadError)

在 El Capitan 上安装 Nokogiri (1.6.7) 时出错