2011-08-11 9 views
18

के बाद रुपेक परीक्षण विफलता का पता लगाएं मैं एक आरएसपीसी परीक्षण चलाने की कोशिश कर रहा हूं, और मैं यह जानना चाहता हूं कि परीक्षण after विधि में विफल रहा है या नहीं। मैं कुछ इस तरह अभी:प्रत्येक विधि

after(:each) do 
    cc = ConnectController.new() 
    cc.update(<TEST-SERVER-CONTROLLER>, <TC-RESULT-ID>, result?)  
end 

आप देख सकते हैं, result? समारोह क्या मैं बदलने के लिए, यदि परीक्षण में विफल रहता है या नहीं पता लगाने के लिए, और भी परीक्षण कि विफल के बारे में जानकारी प्राप्त करने की आवश्यकता है।

उत्तर

12

संपादित करें: यह उत्तर केवल आरएसपीसी 2 के लिए मान्य है। आरएसपीईसी 3 के लिए गीकेज़ॉयड का जवाब देखें।

The Class जो thusly example पर exception विधि की जाँच करके example और आप पता लगा सकते हैं विफलताओं को उजागर करता है के संदर्भ में प्रत्येक ब्लॉक रन के बाद:

after(:each) do 
    if example.exception != nil 
    # Failure only code goes here 
    end 
end 
15

इसके अलावा डैनियल जवाब देने के लिए, Rspec3 में उदाहरण विधि थी हटाया गया (अधिक जानकारी के लिए here देखें)।

आप कुछ इस तरह करना होगा:

after(:each) do |example| 
    if example.exception 
    # ... 
    end 
end 
0

मैं कैसे एक after(:context)/after(:all) ब्लॉक में एक समूह के सभी उदाहरण के लिए सफलता अगर जाँच करने के लिए के लिए देख रहा था। यहां मैं ये आया हूं:

after(:all) do |example_group| 
    if example_group.class.examples.select { |ex| ex.exception }.empty? 
    # runs only if there are no failures 
    do('something') 
    end 
end 
संबंधित मुद्दे