ABAP ट्रैक में टेस्टिंग

Exercism पर अपने ABAP अभ्यासों को टेस्ट करना सीखिए


Exercism पर

हर अभ्यास एक अकेली ABAP क्लास (जिसमें एक या अधिक मेथड होती हैं) के रूप में दिया जाता है। आमतौर पर इनपुट और आउटपुट पैरामीटर वाली मेथड की परिभाषाएँ पहले से दी होती हैं। आपको अभ्यास में दिए निर्देशों के मुताबिक मेथड को पूरा करना है।

जब आपका कोड तैयार हो जाए और आप उसे टेस्ट करना चाहें, तो "Run Tests" चुनिए। इससे संबंधित ABAP टेस्ट क्लास चलती है और कुछ ही सेकंड में नतीजे दिख जाते हैं। अगर कोई एरर मिले, तो अपने कोड को वापस देखिए और उसमें ज़रूरत के मुताबिक बदलाव कीजिए। अगर सारे टेस्ट पास हो जाएँ, तो बधाई! आपने अभ्यास पूरा कर लिया और अब अपना हल जमा कर सकते हैं।

समस्या होने पर

भीतर की बात यह है कि आपका ABAP कोड कंपाइल किया जाता है और तथाकथित abaplint ट्रांसपाइलर की मदद से चलाया जाता है। यह अभी भी काफी नया तरीका है। अगर कोई समस्या आए जिसे आप हल न कर पाएँ, तो GitHub पर एक इश्यू बनाइए।

डीबगिंग और लॉगिंग

Exercism की वेबसाइट पर ABAP अभ्यास चलाते समय कोई डीबगर उपलब्ध नहीं होता। इससे यह पता लगाना मुश्किल हो जाता है कि आपके टेस्ट क्यों फेल हो रहे हैं। लेकिन अपने कोड में डेटा लॉग करने का एक चतुर तरीका है (ध्यान दें: यह किसी भी ABAP सिस्टम में काम नहीं करता)।

यहाँ एक उदाहरण है। पहली इमेज में कुछ फेल होते टेस्ट के साथ अभ्यास का कोड दिख रहा है। हर फेल टेस्ट अपेक्षित और वास्तविक वैल्यू दिखाता है:

बिना लॉगिंग वाला अभ्यास

डीबगिंग आसान बनाने के लिए console=>log() को एक या कई बार कॉल कीजिए और मेथड को कोई भी बीच का डेटा भेजिए। नई लाइनों (\n) के इस्तेमाल से आउटपुट को व्यवस्थित करने में मदद मिलेगी। जब आप टेस्ट चलाएँगे, तो टेस्ट के नतीजों में कंसोल आउटपुट दिखेगा:

लॉगिंग के साथ अभ्यास

ध्यान दें: कंसोल आउटपुट सिर्फ फेल हुए टेस्ट के लिए ही दिखता है। अगर आप अपना हल सार्वजनिक कर रहे हैं, तो लॉग स्टेटमेंट हटा देना बेहतर होगा, ताकि समुदाय के दूसरे लोग आपके सार्वजनिक इटरेशन को आसानी से पढ़ सकें।

अपने सिस्टम पर

पूरा ट्रैक

अपने सिस्टम पर अभ्यास शुरू करने का सबसे आसान तरीका यह है कि आप abapGit की मदद से यह रिपॉज़िटरी क्लोन कर लें। इससे उन सभी अभ्यासों के लिए स्टब और टेस्ट क्लास बन जाएँगी जो अभी उपलब्ध हैं।

अलग-अलग अभ्यास

अपने ABAP Development Tools (या पुराने सिस्टम होने पर ट्रांज़ैक्शन SE24 या SE80) शुरू कीजिए और अभ्यास की क्लास जैसे नाम वाली एक नई ABAP क्लास बनाइए। Exercism की वेबसाइट से कोड कॉपी करके पेस्ट करते हुए क्लास का स्टब और टेस्ट क्लास भी बना लीजिए।

हल लिखना

अब आप किसी अभ्यास की क्लास को एडिट करके उसका हल लिख सकते हैं। इसके बाद ABAP यूनिट टेस्ट चलाइए, ताकि पता चले कि आपका कोड सारे टेस्ट पास करता है या नहीं। काम पूरा होने और टेस्ट पास हो जाने के बाद, अपने कोड को कॉपी करके Exercism की वेबसाइट पर उस अभ्यास के एडिटर में पेस्ट कर दीजिए। वहाँ भी टेस्ट चलाइए।

अभ्यास को जाँचना और पूरा करना

अपने सिस्टम पर कोडिंग और टेस्टिंग करते समय मानक SAP ABAP कंपाइलर इस्तेमाल होता है और कोड उसी से चलाया जाता है। अगर आपके टेस्ट फेल होते हैं, तो उसका कारण आमतौर पर आपके ही कोड में होता है। ज़रा फिर से देखिए।

अगर आपका कोड यूनिट टेस्ट पास कर लेता है, तो अपनी क्लास का कोड कॉपी करके Exercism की वेबसाइट पर उस अभ्यास में पेस्ट कीजिए और "Run Tests" चुनिए। वहाँ भी टेस्ट पास होने चाहिए। अगर न हों, तो ऊपर दिया "समस्या होने पर" वाला हिस्सा देखिए।