क्या आप irb के भीतर से assert_equal निष्पादित कर सकते हैं? यह काम नहीं करता।रूबी में, क्या आप irb में assert_equal और अन्य assert निष्पादित कर सकते हैं?
require 'test/unit'
assert_equal(5,5)
क्या आप irb के भीतर से assert_equal निष्पादित कर सकते हैं? यह काम नहीं करता।रूबी में, क्या आप irb में assert_equal और अन्य assert निष्पादित कर सकते हैं?
require 'test/unit'
assert_equal(5,5)
निश्चित रूप से आप कर सकते हैं!
require 'test/unit'
extend Test::Unit::Assertions
assert_equal 5, 5 # <= nil
assert_equal 5, 6 # <= raises AssertionFailedError
क्या हो रहा है कि सभी दावे टेस्ट :: यूनिट :: एसेरशन मॉड्यूल में विधियां हैं। अंदरूनी आईआरबी से उस मॉड्यूल को विस्तारित करने से उन तरीकों को कक्षा विधियों के रूप में main
पर उपलब्ध कराया जाता है, जो आपको सीधे अपने आईआरबी प्रॉम्प्ट से कॉल करने की अनुमति देता है। (वास्तव में, किसी भी सन्दर्भ में extend SomeModule
बुला कि मॉड्यूल में तरीकों डाल देंगे कहीं आप उन्हें एक ही संदर्भ से को कॉल कर सकते हैं - main
सिर्फ होता है होने के लिए जहां आप डिफ़ॉल्ट रूप से कर रहे हैं।)
इसके अतिरिक्त, क्योंकि दावे होने के लिए डिजाइन किए गए थे TestCase
के भीतर से चलाएं, अर्थशास्त्र अपेक्षा से थोड़ा अलग हो सकता है: सत्य या गलत लौटने की बजाय, यह शून्य देता है या एक त्रुटि उठाता है।
तुम भी
raise "Something's gone wrong" unless 5 == 5
मैं कोड में assert
कि परीक्षण किया जा रहा का उपयोग नहीं करते क्या कर सकते हैं, मैं केवल परीक्षण कोड में इसका इस्तेमाल करते हैं।
सही जवाब है,
require 'test/unit/assertions'
include Test::Unit::Assertions
वाह। महान!! पूरे इंटरनेट पर खोज करने के बाद। मुझे यह समाधान मिला। @ नीलेश – Aravin
यह एकदम सही था। शीघ्र जवाब देने के लिए ध्न्यवाद। विस्तृत विवरण के बाद उद्धरण को हटाने के लिए बस जरूरी है। – Chris
ओह, वही है जो मुझे इसका परीक्षण नहीं करने के लिए मिलता है। :-) थोड़ा और स्पष्टीकरण (आपके या भविष्य के दर्शकों के लिए) में फिक्स्ड और भर गया। –
यदि आप आईआरबी में इसे सच/गलत वापस करना चाहते हैं, तो इसके बजाय == का उपयोग करें। 5 == 5 # => सच 5 == 6 # => झूठी –