Exercism पर अपने Ruby अभ्यासों का टेस्ट करना सीखिए।
टेस्ट चलाने के लिए यह कमांड चलाइए:
$ ruby hamming_test.rb
केवल पहला टेस्ट चलेगा। बाकी सभी टेस्ट skip मेथड से पेंडिंग बना दिए गए हैं। जैसे-जैसे आप हर टेस्ट पास करते जाते हैं, अगले skip को हटाइए या कमेंट कर दीजिए।
skip मेथड टेस्ट सूट को निर्देश देता है कि वह किसी टेस्ट को न चलाए। इसका इस्तेमाल आम तौर पर उन टेस्टों को चलाने से बचने के लिए किया जाता है जो अभी लागू नहीं हुई कार्यक्षमता से जुड़े हैं, ताकि आप उस हिस्से पर ध्यान दे सकें जिस पर अभी काम कर रहे हैं।
टेस्ट चलाने का सारांश स्किप किए गए टेस्टों की संख्या दिखाएगा। अभ्यास पूरा करने से पहले आपको सभी स्किप बंद कर देने चाहिए।
अगर आप रंगों में देखना चाहते हैं, तो टेस्ट इस कमांड से चलाइए:
$ ruby hamming_test.rb -p
अगर आप टेस्टों के नाम देखना चाहते हैं, तो टेस्ट इस कमांड से चलाइए:
$ ruby hamming_tests.rb -v
अगर आप केवल एक टेस्ट चलाना चाहते हैं, तो आप रेगुलर एक्सप्रेशन शैली के मिलान से एक टेस्ट या टेस्टों का समूह चुन सकते हैं।
$ ruby hamming_tests.rb -n /empty/
आप इन विकल्पों को एक साथ भी इस्तेमाल कर सकते हैं।
अब जब आपके पास यह क्षमता है कि आप अपने मनचाहे अलग-अलग टेस्ट या टेस्टों के समूह चुन सकते हैं, तो आप शायद सभी स्किप बंद करना चाहें।
इस तथ्य का फायदा उठाते हुए कि Ruby में मेथड को ओवरराइड किया जा सकता है, अगर आप कोड की यह लाइन जोड़ें:
def skip ; end
Hamming टेस्ट फाइल में ऐसे:
class HammingTest < Minitest::Test
def skip ; end
def test_identical_strands
तो सभी स्किप अभी भी चलेंगे, लेकिन आपके टेस्ट चलने देंगे।
बेशक, समय-समय पर सभी फाइलों में बदलाव करना परेशानी भरा हो सकता है, इसलिए आप वही कर सकते हैं जो हमने अभ्यास बनाते समय किया था... एक ऐसी फाइल बनाइए जिसमें स्किप की परिभाषा हो, और जब हमें जरूरत हो तो उसे लाइब्रेरी के रूप में रिक्वायर कर लीजिए।
हमने अपनी "हेल्पर" चीज़ों को रखने के लिए एक lib फोल्डर बनाया, और वह ऐसा दिखता है:
require 'minitest/autorun'
# You can use this to disable all skips in the current exercise by issuing the
# following command:
# ruby -I../lib -rdisable_skip <filename_test.rb>
module Minitest
class Test
def skip(_msg='', _bt=caller)
end
end
end
इसे इस्तेमाल करने का तरीका उस फाइल लिस्टिंग में कमेंट के रूप में लिखा है, और वह फाइल लिस्टिंग अपने पूर्ण रूप में है।