How to get rspec-2 to give the full trace associated with a test failure?

后端 未结 6 1987
独厮守ぢ
独厮守ぢ 2020-12-13 05:21

Right now if I run my test suite using rake spec I get an error:

1) SegmentsController GET \'index\' should work
   Failure/Error: get \'index\'
   u         


        
相关标签:
6条回答
  • 2020-12-13 05:53

    Another (easier) alternative is to edit the .rspec file, and add the backtrace option. It should look somewhat like this:

    --colour
    --backtrace
    

    That will give you the full backtrace. Hope this helps.

    0 讨论(0)
  • 2020-12-13 05:57

    This will also work:

    # rails_helper.rb
    RSpec.configure do |config|
      config.full_backtrace = true
    end
    
    0 讨论(0)
  • 2020-12-13 05:58

    Another approach is to clear all backtrace exclusion patterns in spec_helper.rb. I like this solution most as I'm able to keep all RSpec settings in one place and get rid of .rspec file or explicit --backtrace in .travis.yml.

    # spec_helper.rb
    RSpec.configure do |config|
      config.backtrace_exclusion_patterns = []
    end
    
    0 讨论(0)
  • 2020-12-13 06:01

    You must run rspec with -b option to see full backtraces

    0 讨论(0)
  • 2020-12-13 06:01

    I don't know how to get the controller error to show up in rspec. Sometimes it shows up but I don't know what conditions cause it to show up. Here is a way to see the error fairly quickly though:

    Open another terminal session and run:

    tail -f log/test.log
    

    Then go back to the terminal session and run just the spec that had the error:

    bin/rspec -b spec/requests/posts/index_spec.rb
    

    Go back to the tail of the log and you should see the error, hopefully without too much other stuff surrounding it (because you ran the failing test by itself).

    0 讨论(0)
  • 2020-12-13 06:06

    One more option when all else fails is to just add a rescue block and print out the stack try or add a binding pry statement there and use show-stack.

    rescue Exception => e
      puts ""
      puts e.backtrace
      puts ""
    
    0 讨论(0)
提交回复
热议问题