簡體   English   中英

Rails4:減少Rspec和Capybara錯誤輸出

[英]Rails4: reduce Rspec and Capybara error output

有沒有辦法禁用Rspce&Capybara的錯誤輸出? 我只想看看主要錯誤

   Delete an Article User Delete an Article
             Failure/Error: click_link "Delete Article"
             ActiveRecord::RecordNotFound:
               Couldn't find Article with 'id'=315

而不是完整的錯誤日志。

 Delete an Article User Delete an Article
         Failure/Error: click_link "Delete Article"
         ActiveRecord::RecordNotFound:
           Couldn't find Article with 'id'=315
         # /usr/local/rvm/gems/ruby-2.2.2/gems/activerecord-4.2.1/lib/active_record/core.rb:155:in `find'
         # ./app/controllers/articles_controller.rb:29:in `show'
         # /usr/local/rvm/gems/ruby-2.2.2/gems/actionpack-4.2.1/lib/action_controller/metal/implicit_render.rb:4:in `send_action'
         # /usr/local/rvm/gems/ruby-2.2.2/gems/actionpack-4.2.1/lib/abstract_controller/base.rb:198:in `process_action'
         # /usr/local/rvm/gems/ruby-2.2.2/gems/actionpack-4.2.1/lib/action_controller/metal/rendering.rb:10:in `process_action'
         # /usr/local/rvm/gems/ruby-2.2.2/gems/actionpack-4.2.1/lib/abstract_controller/callbacks.rb:20:in `block in process_action'
         # /usr/local/rvm/gems/ruby-2.2.2/gems/activesupport-4.2.1/lib/active_support/callbacks.rb:117:in `call'
         # /usr/local/rvm/gems/ruby-2.2.2/gems/activesupport-4.2.1/lib/active_support/callbacks.rb:117:in `call'
         # /usr/local/rvm/gems/ruby-2.2.2/gems/activesupport-4.2.1/lib/active_support/callbacks.rb:555:in `block (2 levels) in compile'
        ....

我的寶石文件

group :development, :test do
  gem 'byebug'
  gem 'rspec-rails','3.2.3'
  gem 'guard-rspec',require: false
  gem 'spring-commands-rspec'
  gem 'web-console', '~> 2.0'
  gem 'spring'
end

group :test do

  gem 'capybara','2.4.4'

end

我想禁用它,因為我需要滾動很多才能看到真正的錯誤。 希望清楚。

我剛剛嘗試過,它在Rspec 3.4.0中可以正常工作,它阻止了延伸到gems中的回溯:

# spec_helper.rb
RSpec.configure do |config|
  config.backtrace_exclusion_patterns = [
    /\/lib\d*\/ruby\//,
    /bin\//,
    /gems/,
    /spec\/spec_helper\.rb/,
    /lib\/rspec\/(core|expectations|matchers|mocks)/
  ]
end

確保您使用的是config.backtrace_exclusion_patterns而不是config.backtrace_clean_patterns因為您使用的是Rspec3.x。

還存在另一種方法 ,您可以顯式列出要忽略的gem:

config.filter_gems_from_backtrace "ignored_gem", "another_ignored_gem"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM