यदि आप परीक्षण लिख रहे हैं तो कई जोरदार कार्य हैं। लेकिन मुख्य कोड में assertiona के लिए, कोई भी नहीं हैं और आप आसानी से रोल कर सकते हैं।
environment.rb
को कुछ इस तरह करें:
class AssertFailure < Exception
end
def assert(message = 'assertion failed')
unless block_given? and yield
raise message
end
end
और यह आपके environments/production.rb
में नो-सेशन बनाने के तो वहाँ कम से कम भूमि के ऊपर है
def assert(message = 'assertion failed')
end
फिर, अपने कोड में, आप करने के लिए जोर कर सकते हैं आपके दिल की सामग्री:
assert { value == expected_value }
assert('value was not what was expected') { value == expected_value }
यदि value
expected_value
के बराबर नहीं है और आप उत्पादन में नहीं चल रहे हैं, एक अपवाद उठाया जाएगा।
स्रोत
2009-01-28 22:20:57
मुझे यकीन नहीं है कि अगर कार्य विधि का उद्देश्य उपरोक्त AssertFailure क्लास का तरीका है या नहीं। ऐसा लगता है कि ऐसा नहीं होना चाहिए, लेकिन अगर मैं उस कोड का उपयोग करता हूं तो मुझे "अप्रत्याशित $ अंत, कीवर्ड_एंड की उम्मीद" त्रुटि मिलती है। क्या आप कृपया विस्तार से बता सकते हैं और संकेत दे सकते हैं कि उपयोग के लिए आवश्यकता/आवश्यकता की आवश्यकता है या नहीं? (यह भी - यह अनुप्रयोग कार्यान्वयन के एक हिस्से की तरह लगता है - तो कॉन्फ़िगरेशन निर्देशिका इस तरह के कोड के लिए उपयुक्त जगह है?) – DavidJ
मुझे लगता है कि 'वर्ग' लाइन के तुरंत बाद 'एंड' लाइन होना चाहिए। – dubek
क्या आप समझा सकते हैं कि कक्षा घोषणा क्या कर रही है? यह कैसे खेलता है? –