Как вывести переменную в тест rspec?
Есть ли быстрый способ вывода значения переменной в тесте rspec? Что-то вроде этого, например, в контроллере для вывода переменной, я делаю:
raise variable.to_yaml
Есть ли что-то подобное, что я могу сделать в тесте rspec, чтобы увидеть содержимое переменной?
Ответы
Ответ 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
Вы можете использовать самоцвет для этого
- добавьте гем "pry" в свой гемфайл
bundle install
Теперь вы можете протестировать любую переменную, поместив "binding.pry" сразу после этой переменной. Запустите bundle exec rspec filepath
, и вы получите что-то вроде rails c, а затем напишите непосредственно свою переменную.
Надеюсь это имеет смысл