Лучший способ отладки в rSpec, который я нашел, это добавить следующее в ваш файл spec_helper.rb
def logger
Rails.logger
end
Затем вы можете получить доступ ко всем методам ведения журнала в ваших файлах rSpec и включить такие вещи, как помеченное ведение журнала. Это конечно для Rails 3 и выше. Если у вас есть что-то до Rails 3, добавьте это:
def logger
RAILS_DEFAULT_LOGGER
end
Как только вы введете свои записи в журнал, вы можете ввести
tail -f log/test.log
в вашей терминальной оболочке, чтобы наблюдать за вашими логами во время выполнения тестов.
Конечно, в вашем реальном тесте rspec вы вводите что-то вроде
logger.debug "#{1.class}" # => Fixnum
Если вы хотите отфильтровать ваши операторы отладки из остальной части вашего журнала тестирования, просто добавьте случайную строку в ваш оператор отладки и перенаправьте вывод команды tail в grep.
Пример:
logger.debug "random_string #{1.class}" # => Fixnum
tail -f log/test.log | grep random_string
Обновление
Я изменил свое мнение по этому поводу. Вы должны установить pry, pry-doc и pry-debug, pry-debugger и pry-rails. Затем используйте в своем коде binding.pry, чтобы открыть интерактивную консоль отладчика, управляющую миром!