MoonScript ट्रैक पर टेस्टिंग

Exercism पर अपने MoonScript अभ्यासों की टेस्टिंग कैसे करें, यह सीखिए


MoonScript ट्रैक पर टेस्टिंग बिल्कुल Lua ट्रैक पर टेस्टिंग जैसी ही है। किसी अभ्यास की डायरेक्टरी से यह कमांड चलाइए:

$ busted

लंबित टेस्ट

यह ट्रैक Exercism की टेस्ट-ड्रिवन डेवलपमेंट कार्यप्रणाली का पालन करता है। आपको पूरी टेस्ट सूट दी जाती है, लेकिन सिर्फ पहला टेस्ट ही "सक्रिय" होता है।

टेस्ट चालू करने के लिए किसी टेस्ट का कमांड pending से it में बदल दीजिए।

जिन्हें हर समय सारे टेस्ट चलाना पसंद है, वे किसी कमांड-लाइन टूल की मदद से इन सबको एक साथ बदल सकते हैं। यहाँ perl का इस्तेमाल करते हुए एक उदाहरण दिया गया है (perl लगभग हर जगह इंस्टॉल रहता है):

$ perl -i -pe 's/^\s+\Kpending\b/it/' two_fer_spec.moon

जब आप ऑनलाइन एडिटर में काम कर रहे होते हैं, तो टेस्ट रनर अपने आप सारे टेस्ट चला देता है।

LuaRocks का उपयोग

अपने आप में Lua बहुत छोटी भाषा है। LuaRocks Lua मॉड्यूल के लिए पैकेज मैनेजर है।

आप अपने हल में कोई भी मॉड्यूल इस्तेमाल कर सकते हैं, लेकिन इनमें से सारे ऑनलाइन टेस्ट-रनर में उपलब्ध नहीं होंगे। टेस्ट-रनर ये चीज़ें उपलब्ध कराता है:

busted की डिपेंडेंसी के रूप में पहले से उपलब्ध

  • penlight (मुख्य पेज)

    Penlight शुद्ध Lua लाइब्रेरी का एक सेट है, जो डायरेक्टरी पर इटरेशन करना, कॉन्फिगरेशन फाइल पढ़ना जैसे आम कामों को आसान बनाता है। यह टेबल और सीक्वेंस पर फंक्शनल ऑपरेशन देता है।

  • dkjson (मुख्य पेज)

    dkjson JSON डेटा को एनकोड और डिकोड करने का मॉड्यूल है।

MoonScript की डिपेंडेंसी के रूप में पहले से उपलब्ध

  • LPeg (मुख्य पेज)

    LPeg Lua के लिए पैटर्न मिलान की एक नई लाइब्रेरी है, जो पार्सिंग एक्सप्रेशन ग्रामर (PEG) पर आधारित है।

  • LuaFileSystem (मुख्य पेज)

    LuaFileSystem अंतर्निहित डायरेक्टरी ढाँचे और फाइल एट्रिब्यूट तक पहुँचने का एक पोर्टेबल तरीका देता है।

डेटटाइम

  • date (गिटहब)

    दिनांक और समय वाली स्ट्रिंग का पार्सिंग; समय का जोड़ और घटाव; समय अंतराल की गणना; ISO 8601 दिनांकों का समर्थन।

  • lua-tz (गिटहब)

    Lua TZ दिनांक और समय के फंक्शन देता है, साथ में टाइम ज़ोन का समर्थन भी। इसके मुख्य फंक्शन का इंटरफेस मानक फंक्शन os.date और os.time जैसा है, लेकिन ये अलग से एक टाइम ज़ोन आर्गुमेंट भी लेते हैं।

  • luatz (गिटहब)

    समय और दिनांक को संभालने के लिए एक Lua लाइब्रेरी।