Ответ 1
BACKTRACE=blegga rake test
BACKTRACE=blegga rails test # rails 5+
Добавить --trace
, если вам нужен журнал, связанный с рейком.
При запуске отображается только одна строка обратной линии:
rake test
Вывод:
...
ERROR should get search for keywords (1.93s)
NoMethodError: undefined method `features' for #<Transcript:0x00000006243780>
/usr/lib/ruby/gems/1.9.1/gems/activemodel-3.1.0/lib/active_model/attribute_methods.rb:385:in `method_missing'
...
Мне нужно больше строк информации о возврате. Я пробовал
rake test --trace
Rails.backtrace_cleaner.remove_silencers!
в config/initializers/backtrace_silencers.rb
установка глобальных $DEBUG = true
и это не сработало.
Как включить его?
BACKTRACE=blegga rake test
BACKTRACE=blegga rails test # rails 5+
Добавить --trace
, если вам нужен журнал, связанный с рейком.
Наконец понял это. Проблема заключается в том, что камень "turn" включен в Rails 3.1 или на самом деле с поворотом v0.8.2, который требуется по умолчанию Gemfile:
group :test do
# Pretty printed test output
gem 'turn', '0.8.2', require: false
end
Поворот v0.8.2 не включает полную обратную трассировку, поэтому вам нужно обновиться, чтобы получить ее. Я сделал это, изменив приведенное выше в моем Gemfile:
group :test do
# Pretty printed test output
gem 'turn', require: false
gem 'minitest'
end
(Мне пришлось добавить minitest, потому что в противном случае он вызывает бросок RuntimeError, говорящий, что "MiniTest v1.6.0 устарел".)
Затем я запустил bundle update turn
и получил последний вариант (0.9.2 на момент написания этой статьи). Это дает полные отступления.