Подтвердить что ты не робот

Как вывести переменную в тест rspec?

Есть ли быстрый способ вывода значения переменной в тесте rspec? Что-то вроде этого, например, в контроллере для вывода переменной, я делаю:

raise variable.to_yaml

Есть ли что-то подобное, что я могу сделать в тесте rspec, чтобы увидеть содержимое переменной?

4b9b3361

Ответ 1

Если вы хотите, чтобы выходные данные вошли в файл журнала (т.е. logs/test.log), вы можете использовать рельсовый логгер.

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

Ответ 2

В этот момент (Rails 4) вы можете его зарегистрировать:

p variable

Ответ 3

Используйте это:

$stderr.puts variable.to_yaml

Ответ 4

Вы можете использовать самоцвет для этого

  1. добавьте гем "pry" в свой гемфайл
  2. bundle install

Теперь вы можете протестировать любую переменную, поместив "binding.pry" сразу после этой переменной. Запустите bundle exec rspec filepath, и вы получите что-то вроде rails c, а затем напишите непосредственно свою переменную.

Надеюсь это имеет смысл