2011-06-14 11 views
6

नियंत्रक परीक्षणों के लिए, रेल HTTP प्रतिक्रिया, प्रमाणीकरण, असाइन, सत्र और फ़्लैश संदेशों जैसी चीजों की जांच करने की सिफारिश करता है। हालांकि ऐप में मैं अभी काम कर रहा हूं, मुझे प्रतिक्रिया के साथ बहुत सारे टेपेक परीक्षण दिखाई देते हैं .body.should have_tag(), जहां तक ​​मैं कह सकता हूं, आदर्श रूप से देखने के परीक्षण के लिए उपयुक्त होगा।आरएसपीईसी सर्वोत्तम प्रथाओं के साथ रेल दृश्य/नियंत्रक परीक्षण

क्या मैं के बारे में सोच रहा हूँ है:

वहाँ किसी भी काफी अच्छा प्रदर्शन/अन्य तरह के दंड-परीक्षण के इस तरह के unideal तरह से करने के लिए संबंधित है?

उत्तर

10

यदि आप अपने नियंत्रक में विचार प्रस्तुत कर रहे हैं तो यह आपके नियंत्रक परीक्षणों को और अधिक समय लगेगा। यह सब इस बात पर निर्भर करता है कि क्या आपको लगता है कि दृश्य तत्वों की उपस्थिति के लिए परीक्षण करना उचित है (जो आपके परीक्षणों को और अधिक भंगुर बनाता है)। यदि आप करते हैं, तो नियंत्रक चश्मे में इसे करने से यह आसान हो जाता है क्योंकि आपको एक अलग दृश्य spec फ़ाइल लिखने की आवश्यकता नहीं है।

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

मुझे संदेह है कि अधिकांश रेल प्रोग्रामर दृश्य चश्मा नहीं लिखते हैं। इसके बजाय वे शायद अपने विचारों का परीक्षण करने के लिए अपने एकीकरण परीक्षण (Capybara +/- ककड़ी) पर भरोसा कर रहे हैं। हालांकि एकीकरण परीक्षण इकाई परीक्षणों से अधिक समय लेते हैं। आरएसपीईसी पुस्तक अलग-अलग दृश्य चश्मे लिखने के लिए निम्नलिखित तर्क देती है:

देखें चश्मा हमें उन एपीआई को खोजने का मौका प्रदान करते हैं जिन्हें हमें नियंत्रकों और मॉडलों से चाहिए। यह तब मूल्यवान नहीं है जब एपीआई सबसे मानक सम्मेलनों का पालन कर रहे हों। मूल्य बढ़ता है, हालांकि, हम उनसे भटक जाते हैं ....

वास्तव में उनके लाभों के लिए एक महसूस करने का एकमात्र तरीका [परीक्षण देखें] उन्हें अच्छी तरह से लिखना सीखना है। और केवल एक बार जब आप वास्तव में समझते हैं कि वे प्रवाह में कैसे फिट होते हैं, तो आप इनका उपयोग करने के बारे में अच्छी तरह से निर्णय लेने में सक्षम होंगे।

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