2011-10-03 45 views
11

回溯的只有一行顯示當我運行:打開Ruby的全面回溯on Rails的TestCase的

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' 

...

我需要更多的回溯信息行。 我試圖

  • 耙測試--trace

  • 在配置Rails.backtrace_cleaner.remove_silencers! /初始化/ backtrace_silencers.rb

  • 設置全局$ DEBUG =真

,它沒有工作。

我該如何開啓它?

回答

17
BACKTRACE=blegga rake test 

BACKTRACE=blegga rails test # rails 5+ 

追加--trace如果你需要耙相關的日誌。

+0

看起來像這樣一個隨機添加的東西,但它的作品!官方文件在哪裏呢? – brandaemon

+0

BACKTRACE = YES也適用 – justingordon

2

終於明白了這一點。問題是包含在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)。這給了完整的回溯。