2016-10-04 3 views
0

で特定のエラーをデバッグするには、私がテストを実行するときに頻繁に私はこのようなエラーが出るよ...今しばらくの間、このためにお願いしたいと思ったことがあり:はどのようにRSpecの

bundle exec rspec spec/features/admin/2_email_maintenances_spec.rb:32 -b 
Run options: include {:locations=>{"./spec/features/admin/2_email_maintenances_spec.rb"=>[32]}} 

An error occurred in an after hook 
    ActionView::Template::Error: wrong number of arguments (1 for 0) 
    occurred at /Users/jamesdong/.rvm/gems/ruby-2.1.2/gems/activerecord-4.1.1/lib/active_record/attribute_methods.rb:45:in `__temp__079636b65707f53747162747' 

F 

Failures: 

最良の方法は何ActionView::Template::Errorがコードのどこに由来しているのかを理解するには?完全なバックトレース(-b)で仕様を実行しても、そのデバッグからテストに失敗した理由はわかりません。コードでエラーが発生しているわけではありません。同様に参照されたファイルに行くことは役に立ちません。なぜなら、私はエラーを受け取り、私のコードでメソッドが呼び出された場所を知りたいからです。

答えて

0

RSpecのコアを使用すると、個々の宝石を除外することができます:

# arbitrary gems may also be filtered via: 
config.filter_gems_from_backtrace("active_record") 

RSpecのレールは、すべての "レール" 宝石(ActiveRecordは、ActionPackなど)をフィルタリングするための追加オプションを提供します。

# Filter lines from Rails gems in backtraces. 
config.filter_rails_from_backtrace! 
+0

私はそれらをフィルタリングしたいとは思わない...私はそれらを引き起こしているかを知りたいですか? – james

+0

レールジェムをフィルタリングすると、スタックトレースの最上部にあるように、コード内のエラーを見つけるのがずっと簡単になります。 – max

関連する問題