2012-01-27 8 views
12

मैं rspec के लिए नया हूं और रेल के लिए बिल्कुल नया हूं। नियंत्रकों के लिए परीक्षण मामलों को लिखते समय मैंने देखा है कि render_views अक्सर उपयोग किया जाता है। यह क्या करता है और यदि मैं इसे कॉल नहीं करता तो क्या होता है?rspec में render_views क्या करता है?

उत्तर

11

उसे रेंडर नियंत्रक कल्पना में दृश्य की। यदि आप render_views नहीं डालते हैं, तो विचार प्रस्तुत नहीं होंगे, इसका मतलब है कि नियंत्रक को बुलाया जाता है लेकिन इसके बाद विचारों को प्रस्तुत नहीं किया जाता है। नियंत्रक परीक्षण तेजी से चलेंगे, क्योंकि उन्हें दृश्य प्रस्तुत नहीं करना पड़ेगा, लेकिन आप दृश्य में बग को याद कर सकते हैं।

+0

ठीक है समझ में आता है। तो अगर मेरे नियंत्रक के पास कोई संबंधित विचार नहीं है तो 'render_views' को कॉल करना व्यर्थ है? मेरे परीक्षण ठीक से काम करते हैं w/o 'render_views' को कॉल करते हैं तो मुझे लगता है कि यह मामला है। – SundayMonday

+1

हाँ, यदि आप विचारों की जरूरत नहीं है तो विवादास्पद बिंदु – daniel

8

यह isolation बारे में है। विचार यह है कि आप नहीं चाहते हैं कि आपका कंट्रोलर चश्मा असफल हो क्योंकि दृश्य में एक वाक्यविन्यास त्रुटि है, जिसके लिए अनुरोध spec या दृश्य दृश्य विफल होना चाहिए। यदि आप अनुरोध चश्मा नहीं लिख रहे हैं या चश्मा, या ककड़ी की विशेषताएं नहीं देख रहे हैं, तो render_views परीक्षण-कवरेज परिप्रेक्ष्य से आपकी सहायता कर सकता है।

+0

के रूप में आप [यहां] का उल्लेख किया है (https://groups.google.com/forum/?fromgroups#!topic/rspec/Gwnlou54x1M), मुझे लगता है कि render_views जोड़ देगा यदि हेलर चश्मे में भी इसका उपयोग किया जा सकता है, तो कहें, एक सहायक है जो आंशिक या टेम्पलेट प्रस्तुत करता है। – aceofbassgreg