抑制Rspec 3的回溯

时间:2015-06-16 04:50:17

标签: ruby-on-rails rspec capybara

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

config.full_backtrace=false

在大多数错误中,我得到一个回溯,例如

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)>'

如何关闭此功能?

1 个答案:

答案 0 :(得分:1)

根据此问题的行(或注释)之间的读数:How do I shorten 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)/
  ]