抑制 Rspec 3 的回溯

Obr*_*ios 5 rspec ruby-on-rails capybara

我正在使用 rspec 3.2.0 和 capybara 2.4.4 并在我的 spec_helper.rb 文件中如下所示

config.full_backtrace=false
Run Code Online (Sandbox Code Playgroud)

对于大多数错误,我都会得到回溯,例如

Failure/Error: check 'un_student_3'
 Capybara::ElementNotFound:
   Unable to find checkbox "un_student_3"
 # /Users/115698/.rvm/gems/ruby-2.1.1@match_maker/gems/capybara-2.4.4/lib/capybara/node/finders.rb:41:in `block in find'
 # /Users/115698/.rvm/gems/ruby-2.1.1@match_maker/gems/capybara-2.4.4/lib/capybara/node/base.rb:84:in `synchronize'
 # /Users/115698/.rvm/gems/ruby-2.1.1@match_maker/gems/capybara-2.4.4/lib/capybara/node/finders.rb:30:in `find'
 # /Users/115698/.rvm/gems/ruby-2.1.1@match_maker/gems/capybara-2.4.4/lib/capybara/node/actions.rb:82:in `check'
 # /Users/115698/.rvm/gems/ruby-2.1.1@match_maker/gems/capybara-2.4.4/lib/capybara/session.rb:676:in `block (2 levels) in <class:Session>'
 # /Users/115698/.rvm/gems/ruby-2.1.1@match_maker/gems/capybara-2.4.4/lib/capybara/dsl.rb:51:in `block (2 levels) in <module:DSL>'
 # ./spec/features/students/student_spec.rb:56:in `block (2 levels) in <top (required)>'
Run Code Online (Sandbox Code Playgroud)

我怎样才能关闭它?

Obr*_*ios 3

基于对这个问题的字里行间(或评论)的阅读:How do I Short the backtrace for a test failure in RSpec 2? ,执行此操作的方法是放入您的spec_helper.rb文件中

config.backtrace_exclusion_patterns = [
    /\/lib\d*\/ruby\//,
    /bin\//,
    /gems/,
    /spec\/spec_helper\.rb/,
    /lib\/rspec\/(core|expectations|matchers|mocks)/
  ]
Run Code Online (Sandbox Code Playgroud)