मेरे पास rails3 ऐप है जिसमें कुछ पर्यवेक्षक हैं। मैं अपने जीवन के लिए यह नहीं समझ सकता कि इन्हें मेरे आरएसपीईसी परीक्षणों के लिए कैसे बंद किया जाए!रेलवे में कोई पर्यवेक्षकों के साथ rspec कैसे चलाएं 3?
12
A
उत्तर
5
दो विकल्प हो सकता है:
- No peeping toms
- अपने test.rb पर्यावरण के लिए निम्न जोड़ें:
config.active_record.observers = []
30
no_peeping_toms इच्छा उत्पादन प्रतिवाद चेतावनी जब रेल के साथ 3.1+ इस्तेमाल किया। वर्तमान में इन बहिष्करण चेतावनियों को हटाने के लिए खुला है, हालांकि gem is not necessary with Rails 3.1+। रेल 3.1 को सक्रिय मॉडेल (और इसलिए ActiveRecord) में सक्षम करने की क्षमता और disable पर्यवेक्षकों में जोड़ा गया।
आप सभी ActiveRecord-वंशज मॉडलों पर सभी पर्यवेक्षकों को बंद करने के spec_helper में निम्नलिखित लाइन डाल कर सकते हैं:
# spec/spec_helper.rb
...
RSpec.configure do |config|
...
config.before do
...
ActiveRecord::Base.observers.disable :all # <-- Turn 'em all off!
end
end
आप उन्हें पीठ पर चुनिंदा के साथ अपने चश्मा में कार्रवाई लपेटकर द्वारा उनके व्यवहार का परीक्षण करने के बदल सकते हैं enable विधि।
# spec/models/foo_observer_spec.rb
describe FooObserver do
subject { FooObserver.instance }
it 'notices when new Foos are created' do
subject.should_receive(:after_create)
Foo.observers.enable :foo_observer do # <- Turn FooObserver on
Foo.create('my new foo')
end # <- ... and then back off
end
end
'Foo.observers.enable' की ओर इशारा करते – iRonin
आपका स्वागत है के लिए धन्यवाद! –