2013-03-16 3 views

उत्तर

45

में घोषित किया जाना चाहिए जब एक से पहले (: सभी) RSpec.configure ब्लॉक यह प्रत्येक शीर्ष स्तर उदाहरण समूह से पहले कहा जाता है में परिभाषित किया गया है, जबकि एक से पहले (: सूट) कोड ब्लॉक केवल एक बार बुलाया जाता है।

RSpec.configure do |config| 
    config.before(:all) {puts "Before :all"} 
    config.after(:all) {puts "After :all"} 
    config.before(:suite) {puts "Before :suite"} 
    config.after(:suite) {puts "After :suite"} 
end 

describe "spec1" do 
    example "spec1" do 
    puts "spec1" 
    end 
end 

describe "spec2" do 
    example "spec2" do 
    puts "spec2" 
    end 
end 

आउटपुट::

Before :suite 
Before :all 
spec1 
After :all 
Before :all 
spec2 
After :all 
After :suite 
+0

मेरे सवाल है: "मैं का उपयोग कर' तरह व्यवस्थापक उपयोगकर्ता कुछ बीज डेटा लोड तो suite' से पहले अभ्यस्त है कि डेटा उदाहरण के बाद साफ हो गया है

यहाँ एक उदाहरण है चलाने के? " – illusionist

+0

नहीं वे रहेंगे, आपको मैन्युअल रूप से उनसे निपटना होगा। केवल पहले (: उदाहरण) लेनदेन के अंदर है। – Foton

+0

: सुइट और: संदर्भ (=: सभी) लेनदेन के बाहर हैं। कोई फर्क नहीं पड़ता कि घोंसला संदर्भ कितने गहरे हैं। – Foton

0

आप किसी भी उदाहरण समूह चलाए जाने से पहले कोड के ब्लॉक को चलाने के लिए पहले (: सुइट) का उपयोग कर सकते हैं। यह RSpec.configure

http://rubydoc.info/github/rspec/rspec-core/RSpec/Core/Hooks

संबंधित मुद्दे