2011-05-20 6 views
6

मैं अपने सुविधाओं, सबफ़ोल्डर में आयोजित इस तरह है:उपनिर्देशिका में एकल ककड़ी सुविधा चलाने के लिए गार्डफाइल?

app/ 
    features/ 
    users/ 
     feature1.feature 
     feature2.feature 

लेकिन हर मैं एक फीचर बचाने के लिए, गार्ड मेरी सभी सुविधाओं (न सिर्फ एक है कि संपादित किया गया था) चलाता है। सहेजे गए एक को चलाने के लिए मैं इसे कैसे बदल सकता हूं?

यहाँ ककड़ी के लिए मेरे Guardfile है:

guard 'cucumber', :cli => "--drb --require features/support --require features/step_definitions" do 
    watch(%r{features/.+\.feature}) 
    watch(%r{features/support/.+})   { 'features' } 
    watch(%r{features/step_definitions/(.+)_steps\.rb}) { |m| Dir[File.join("**/#{m[1]}.feature")][0] || 'features' } 
end 

उत्तर

4

APH, जवाब documentation में सही था:

यह बहुत महत्वपूर्ण है कि आप समझते हैं कैसे ककड़ी कॉन्फ़िगर किया गया हो जाता है, यह अक्सर है, क्योंकि गार्ड-ककड़ी के अजीब व्यवहार की उत्पत्ति।

ककड़ी विशिष्ट रन कॉन्फ़िगरेशन की प्रोफाइल परिभाषित करने के लिए cucumber.yml का उपयोग करती है। जब आप कॉन्फ़िगरेशन को पार करते हैं: क्ली विकल्प लेकिन प्रोफ़ाइल के साथ विशिष्ट प्रोफ़ाइल शामिल न करें, तो डिफ़ॉल्ट प्रोफ़ाइल से कॉन्फ़िगरेशन का भी उपयोग किया जाता है।

उदाहरण के लिए, जब आप डिफ़ॉल्ट ककड़ी-रेल द्वारा उत्पन्न cucumber.yml उपयोग कर रहे हैं, तो करने के लिए डिफ़ॉल्ट प्रोफ़ाइल बलों गार्ड-ककड़ी हमेशा सभी सुविधाओं चलाने के लिए, क्योंकि यह सुविधाओं फ़ोल्डर जोड़ देता है। CLI विकल्प:

कॉन्फ़िगर ककड़ी केवल गार्ड

आप केवल गार्ड से ककड़ी कॉन्फ़िगर करना चाहते हैं, तो से है, तो आप --no-प्रोफ़ाइल की पास करना चाहिए।

तो --no-profile में :cli विकल्प के लिए गुजर रहा है, और मुझे सामान्य व्यवहार मिल रहा है।

दस्तावेज़ों को पढ़ने के लिए मुझ पर शर्म आती है!

1

--no-profile ध्वज अब और आवश्यकता नहीं प्रतीत होता है, इसके परिणामस्वरूप यह कंसोल में रन सुविधाओं के बारे में कोई जानकारी प्रदर्शित नहीं करता है (उदाहरण के लिए अभी तक लागू चरणों के लिए कोड स्निपेट), जो निश्चित रूप से आप नहीं चाहते हैं।

आज की जाने का रास्ता (अपने Guardfile में) :all_after_pass झंडा इस तरह उपयोग करने के लिए हो रहा है:

guard 'cucumber', :cli => '--drb', :all_on_start => false, :all_after_pass => false do 

आशा इस मदद करता है।

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