2012-10-30 13 views
20

में एकाधिक पृष्ठभूमि के साथ एक ही सुविधा के लिए परीक्षण कैसे करें मेरे पास एक सुविधा (ए। फीचर फ़ाइल) है जो ककड़ी में ठीक काम कर रही है।ककड़ी

सुविधा में सभी परिदृश्यों की पृष्ठभूमि बस एक उपयोगकर्ता सेट अप करती है, और फिर पर्यवेक्षक के रूप में लॉग इन करती है, उदा।

Background: 
    Given I am logged in as a supervisor with an existing supervisee 

    ...loads of scenarios 

हालांकि डिजाइन/आवेदन के लक्ष्यों में बदल गया है और एक ही परिदृष्य काम करना चाहिए कि क्या आप एक पर्यवेक्षक के रूप में या उपयोगकर्ता के रूप में प्रवेश किया है। अधिकांश एप्लिकेशन के लिए यह सच नहीं है जहां डिजाइन पर्यवेक्षकों/उपयोगकर्ताओं के लिए सममित नहीं है।

क्या कोई अलग पृष्ठभूमि के साथ संपूर्ण सुविधा फ़ाइल की प्रतिलिपि बनाने और चिपकाने से बचने के लिए कोई रास्ता है? ऐसा लगता है कि पृष्ठभूमि को पैरामीटर करने के लिए कोई तरीका नहीं है (उदा। किसी या तो: या: stanza के साथ) या वैकल्पिक रूप से परिदृश्यों के भार के साथ बाहरी फ़ाइल को खींचने का एक तरीका। विचार?

Background: 
    Given I am logged in as an existing supervisee 

    ...same loads of scenarios 

यहाँ कुछ कल्पना खीरा वाक्य रचना (जो मौजूद नहीं है)

Background Outline: 
    Given I am logged in as a <user> 

    Backgrounds: 
    | user         | 
    | supervisor with an existing supervisee | 
    | an existing supervisee     | 

    ...loads of scenarios 

वैकल्पिक रूप से अलग कल्पना खीरा वाक्य रचना है:

Background: 
    Given I am logged in as an existing supervisee 

    Include Scenarios: 
    supervisor.features 
+0

मैं इस बात पर स्पष्ट नहीं हूं कि आप क्या परिवर्तन करना चाहते हैं। क्या आप पृष्ठभूमि दिखा सकते हैं, यह बता सकते हैं कि वर्तमान में यह किस व्यवहार का प्रदर्शन करता है, और वर्णन करता है कि आप इसे कैसे व्यवहार करना चाहते हैं? –

+0

@MarkThomas मैंने –

+0

@TimDiggins पर लक्षित करने का संकेत देने के लिए एक मौजूदा पृष्ठभूमि, और कॉपी और पेस्ट संस्करण, और कुछ "फंतासी गेरकिन सिंटैक्स" जोड़ा है, मुझे यह एक पुराना सवाल पता है, लेकिन मैं उत्सुक हूँ क्या आपको गेरकिन का उपयोग करके "पृष्ठभूमि रूपरेखा" का वर्णन करने का कोई तरीका मिला है या नहीं? ... शायद कोई विस्तार के साथ आया था? – muhqu

उत्तर

4

अगर यह मैं था, मैं सिर्फ ऊपर चूसना होगा डुप्लिकेशन:

http://dannorth.net/2008/06/30/let-your-examples-flow/

सुविधा पर एक टैग का उपयोग करने का एक विकल्प होगा जो इंगित करता है कि आप दोनों उपयोगकर्ता समूहों के खिलाफ परिदृश्य चलाने के लिए चाहते हैं। फिर प्रत्येक प्रकार के उपयोगकर्ता के लिए, दो बार परिदृश्य को चलाने के लिए हुक के आसपास का उपयोग करें।

हमने पृष्ठभूमि आउटलाइन जैसी चीजों के बारे में बात की है, लेकिन निष्कर्ष यह हुआ कि यह लागू करने के लिए अतिरिक्त जटिलता के लायक नहीं होगा।

+0

मुझे डुप्लिकेशन नहीं चाहिए, क्योंकि मैं एक डीआरवाई उत्साह नहीं हूं, लेकिन क्योंकि यह वास्तव में केवल एक विशेषता है और इसे एक ही स्थान पर रखने के लिए अधिक अभिव्यक्तिपूर्ण है। लेकिन टैगिंग और आसपास के हुक का उपयोग करना बहुत अभिव्यक्तिपूर्ण है। बहुत बहुत धन्यवाद! –

+0

क्या यह वास्तव में काम करता है? ऐसा लगता है कि ब्लॉक को एक से अधिक बार निष्पादित करना संभव नहीं है। [यह] देखें (http://stackoverflow.com/a/10876638/158074) उत्तर। – rsenna

+0

@rsenna (देर से प्रतिक्रिया के लिए माफ़ी) - मैंने वास्तव में कोशिश नहीं की थी, लेकिन इसमें डुप्लिकेशंस छोड़ दिया। मुझे आसपास के हुक का विचार पसंद आया, लेकिन यह बहुत अधिक काम था (और ऐसा लगता है कि इसमें काम नहीं होता समाप्त)। –

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