मैं एक छोटे रूबी वर्ग का परीक्षण करने के लिए आरएसपीसी (नवीनतम संस्करण, 2.12.2) का उपयोग कर रहा हूं। मेरी समस्या यह है कि जब एक आरएसपीसी परीक्षण विफल रहता है, तो परीक्षण आउटपुट अविश्वसनीय रूप से वर्बोज़ लगता है, और त्रुटि संदेशों की एक बड़ी सूची दिखाता है, जो लगभग पूर्ण बैकट्रैस लगता है। इसका मतलब है कि मुझे वास्तविक त्रुटि संदेश और ट्रेस के शीर्ष को देखने के लिए स्क्रॉल करना होगा।परीक्षण विफलताओं के लिए आरएसपीसी छोटे बैकट्रैक आउटपुट
मुझे विश्वास है कि डिफ़ॉल्ट रूप से आरएसपीईसी ऐसा करने वाला है लेकिन ऐसा लगता है कि यह मेरे लिए नहीं कर रहा है। उदाहरण के लिए, अगर मैं चलाने rspec spec/my_spec.rb:132
(सिर्फ एक परीक्षण L132 पर है चलाने), मैं इस उत्पादन प्राप्त करें:
Failure/Error: @f.has_changed?("test").should be_true
expected: true value
got: false
# /Users/JackFranklin/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rspec-expectations-2.12.1/lib/rspec/expectations/fail_with.rb:33:in `fail_with'
# /Users/JackFranklin/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rspec-expectations-2.12.1/lib/rspec/expectations/handler.rb:33:in `handle_matcher'
# /Users/JackFranklin/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rspec-expectations-2.12.1/lib/rspec/expectations/syntax.rb:53:in `should'
# /Users/JackFranklin/Dropbox/Sites/rubygems/filefixtures/spec/filefixtures_spec.rb:137:in `block (4 levels) in <top (required)>'
# /Users/JackFranklin/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rspec-core-2.12.2/lib/rspec/core/example.rb:114:in `instance_eval'
# /Users/JackFranklin/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rspec-core-2.12.2/lib/rspec/core/example.rb:114:in `block in run'
# /Users/JackFranklin/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rspec-core-2.12.2/lib/rspec/core/example.rb:254:in `with_around_each_hooks'
# /Users/JackFranklin/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rspec-core-2.12.2/lib/rspec/core/example.rb:111:in `run'
# /Users/JackFranklin/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rspec-core-2.12.2/lib/rspec/core/example_group.rb:388:in `block in run_examples'
# /Users/JackFranklin/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rspec-core-2.12.2/lib/rspec/core/example_group.rb:384:in `map'
# /Users/JackFranklin/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rspec-core-2.12.2/lib/rspec/core/example_group.rb:384:in `run_examples'
# /Users/JackFranklin/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rspec-core-2.12.2/lib/rspec/core/example_group.rb:369:in `run'
# /Users/JackFranklin/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rspec-core-2.12.2/lib/rspec/core/example_group.rb:370:in `block in run'
# /Users/JackFranklin/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rspec-core-2.12.2/lib/rspec/core/example_group.rb:370:in `map'
# /Users/JackFranklin/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rspec-core-2.12.2/lib/rspec/core/example_group.rb:370:in `run'
# /Users/JackFranklin/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rspec-core-2.12.2/lib/rspec/core/example_group.rb:370:in `block in run'
# /Users/JackFranklin/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rspec-core-2.12.2/lib/rspec/core/example_group.rb:370:in `map'
# /Users/JackFranklin/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rspec-core-2.12.2/lib/rspec/core/example_group.rb:370:in `run'
# /Users/JackFranklin/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rspec-core-2.12.2/lib/rspec/core/command_line.rb:28:in `block (2 levels) in run'
# /Users/JackFranklin/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rspec-core-2.12.2/lib/rspec/core/command_line.rb:28:in `map'
# /Users/JackFranklin/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rspec-core-2.12.2/lib/rspec/core/command_line.rb:28:in `block in run'
# /Users/JackFranklin/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rspec-core-2.12.2/lib/rspec/core/reporter.rb:34:in `report'
# /Users/JackFranklin/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rspec-core-2.12.2/lib/rspec/core/command_line.rb:25:in `run'
# /Users/JackFranklin/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rspec-core-2.12.2/lib/rspec/core/runner.rb:80:in `run'
# /Users/JackFranklin/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rspec-core-2.12.2/lib/rspec/core/runner.rb:17:in `block in autorun'
कौन सा, जैसा कि आप देख सकते हैं, पूरी तरह से बड़े पैमाने पर है। मुझे कोई आरएसपीईसी कॉन्फ़िगरेशन फाइल नहीं मिली है जो आरएसपीसी को पारित कॉन्फ़िगरेशन को बदल सकती है।
क्या किसी ने इसे पहले देखा है? मैंने गूगलिंग की कोशिश की है लेकिन खोज निष्फल रही है।
संपादित करें: मैं तो यकीन है कि यह डिफ़ॉल्ट पश्व-अनुरेखन सफाई लागू करने गया था बनाने के लिए config की स्थापना:
RSpec.configure do |config|
# RSpec automatically cleans stuff out of backtraces;
# sometimes this is annoying when trying to debug something e.g. a gem
config.backtrace_clean_patterns = [
/\/lib\d*\/ruby\//,
/bin\//,
/gems/,
/spec\/spec_helper\.rb/,
/lib\/rspec\/(core|expectations|matchers|mocks)/
]
end
लेकिन यह एक फर्क नहीं है। आउटपुट को देखते हुए, इसमें से अधिकांश को फ़िल्टर किया जाना चाहिए, लेकिन ऐसा लगता है कि कॉन्फ़िगरेशन लागू नहीं किया जा रहा है?
संपादित फिर से:
मेरी config में, मैं भी cleaned_from_backtrace?(line)
चलाने देखने के लिए अगर एक लाइन साफ किया जाना चाहिए कर सकते हैं। यह true
रिटर्न:
config.cleaned_from_backtrace?("/Users/JackFranklin/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rspec-expectations-2.12.1/lib/rspec/expectations/fail_with.rb:33:in `fail_with'")
लेकिन टर्मिनल में वास्तविक उत्पादन एक ही रहता है!
संपादित करें 3:
मैं आदेश rspec
, और ज्यादा कुछ नहीं के साथ RSpec चल रहा हूँ। परियोजना की .rspec
फ़ाइल है:
--color
--format progress
और कोई ~/.rspec
फ़ाइल है कि या तो सेटिंग्स लागू किया जा सकता है नहीं है।
हाहा वह शानदार है। मैं हमेशा नाराज हूं कि आरएसपीईसी इतनी वर्बोज़ थी ... मुझे पता नहीं था कि मेरा नाम ज़िम्मेदार था! – RobinGower
कस्टम बैकट्रैस फ़िल्टर पैटर्न जोड़ने के लिए आप https://www.relishapp.com/rspec/rspec-core/docs/configuration/excluding-lines-from-the-backtrace का उपयोग कर सकते हैं। –