rspec backtrace

¿Cómo acortar el retroceso para una falla de prueba en RSpec 2?



backtrace (2)

Cuando mis especificaciones detectan un error, recibo un mensaje como este:

Vendor should reject duplicate names Failure/Error: user_with_duplicate_email.should_not be_valid expected valid? to return false, got true # /home/kevin/.rvm/gems/ruby-1.9.2-p136@rails3tutorial/gems/rspec-expectations-2.3.0/lib/rspec/expectations/fail_with.rb:29:in `fail_with'' # /home/kevin/.rvm/gems/ruby-1.9.2-p136@rails3tutorial/gems/rspec-expectations-2.3.0/lib/rspec/expectations/handler.rb:44:in `handle_matcher'' # /home/kevin/.rvm/gems/ruby-1.9.2-p136@rails3tutorial/gems/rspec-expectations-2.3.0/lib/rspec/expectations/extensions/kernel.rb:50:in `should_not'' . . about 15 more lines . . # /home/kevin/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/drb/drb.rb:1592:in `block (2 levels) in main_loop'' # /home/kevin/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/drb/drb.rb:1588:in `loop'' # /home/kevin/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/drb/drb.rb:1588:in `block in main_loop''

Estoy ejecutando Ruby 1.0.2, rails (3.0.3) y rspec (2.3.0). El archivo de configuración de .rspec tiene solo dos opciones especificadas:

--drb --color

¿Cómo desactivo la traza extendida?


En spec_helper.rb puede filtrar el seguimiento usando el siguiente fragmento de código:

RSpec.configure do |config| # RSpec automatically cleans stuff out of backtraces; # sometimes this is annoying when trying to debug something e.g. a gem # RSpec 3: # config.backtrace_exclusion_patterns = [ # RSpec 2: config.backtrace_clean_patterns = [ ///lib/d*//ruby///, /bin///, /gems/, /spec//spec_helper/.rb/, /lib//rspec//(core|expectations|matchers|mocks)/ ] end


Lo actualicé para trabajar con Rspec 3.2.3. En spec_helper.rb ponemos:

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

Esto es oro puro. Gracias luacassus!