10 कदम कैसे प्रभावी रूप से अपने एपीआई परीक्षण को स्वचालित करने के लिए ~

इस पोस्ट को पढ़ने से पहले, सुनिश्चित करें कि आपको इनमें से कम से कम एक समस्या है:

  1. क्या आपको परेशानी है या अभी भी मैन्युअल रूप से एपीआई परीक्षण कर रहे हैं?
  2. क्या आप अपने REST API समापन बिंदुओं का परीक्षण करने के लिए अक्सर Postman / Insomnia / Paw का उपयोग करते हुए QA / QE / TE / SET के रूप में काम कर रहे हैं क्योंकि आप वास्तव में नहीं जानते हैं कि अपने समापन बिंदुओं का परीक्षण स्वचालित रूप से कैसे करें?
  3. क्या आप क्यूए / क्यूई / टीई / एसईटी के रूप में काम कर रहे हैं जो ऐप से अलग परीक्षण करना चाहते हैं?

इस पोस्ट का मुख्य उद्देश्य एपीआई परीक्षण को स्वचालित करके उपरोक्त सभी समस्याओं को हल करना है और इसे जेनकिंस सीआई के साथ एकीकृत करना है। यदि आपको लगता है कि आप उस नौकरी के लिए सही उपकरण और तकनीक चुनते हैं, तो यह आसान है।

ज़रूरी

  1. Node.js: Node.js क्रोम के V8 जावास्क्रिप्ट इंजन पर निर्मित एक जावास्क्रिप्ट रनटाइम है। Node.js एक घटना-चालित, गैर-अवरुद्ध I / O मॉडल का उपयोग करता है जो इसे हल्का और कुशल बनाता है। Node.js का पैकेज पारिस्थितिकी तंत्र, npm, दुनिया में खुले स्रोत पुस्तकालयों का सबसे बड़ा पारिस्थितिकी तंत्र है।
  2. मोचा: मोचा एक जावास्क्रिप्ट परीक्षण ढांचा है जो अतुल्यकालिक परीक्षण को आसान बनाता है।
  3. चाय: जैस्मीन के विपरीत, मोचा के पूरक के लिए एक अतिरिक्त शोध पुस्तकालय का उपयोग किया जाना चाहिए। चाई एक मुखर पुस्तकालय है जो आपको "मुखर", "उम्मीद", और "चाहिए" सहित मुखर इंटरफ़ेस का चयन करने देता है।
  4. सुपरटेस्ट: सुपरटेस्ट सुपरएजेंट का एक विस्तार है, एक हल्के HTTP AJAX अनुरोध पुस्तकालय। सुपरटेस्ट ने नोड.जेएस एपीआई एंडपॉइंट प्रतिक्रियाओं के परीक्षण के लिए उच्च-स्तरीय सार प्रदान करता है जो मुखरता को समझने में आसान है।
  5. Docker: Docker डेवलपर्स और sysadmins के लिए एक खुला प्लेटफ़ॉर्म है जो लैपटॉप, डेटा सेंटर VMs या क्लाउड पर डिस्ट्रीब्यूटेड ऐप्स को बनाने, शिप करने और चलाने के लिए है।
  6. जेनकिंस CI: जेनकिन्स जावा में लिखा गया एक ओपन सोर्स ऑटोमेशन सर्वर है। जेनकिंस पूरे सॉफ्टवेयर विकास प्रक्रिया के गैर-मानवीय भाग को स्वचालित करने में मदद करता है, जिसमें अब निरंतर एकीकरण जैसी सामान्य चीजें हैं, लेकिन एक निरंतर वितरण के तकनीकी भाग को लागू करने के लिए टीमों को और सशक्त बनाना।

यह ट्यूटोरियल मानता है कि आपके पास पहले से ही है:

  1. आपकी मशीन पर Node.js और docker स्थापित हैं।
  2. एपीआई के साथ ऐप जिसे आप पहले से चल रहे परीक्षण करना चाहते हैं। (यहां उदाहरण ऐप https://github.com/rifkyalikiki/example-api-app है)
  3. जेनकिंस CI पहले से ही स्थापित है।

आएँ शुरू करें

  1. अपना परीक्षण प्रोजेक्ट फ़ोल्डर बनाएँ। उदाहरण के लिए: उदाहरण-एपी-परीक्षण
  2. सभी निर्भरताएँ जोड़ने के लिए package.json फ़ाइल बनाएँ।

3. इन आदेशों को चलाकर सभी निर्भरताएं स्थापित करें।

cd your_test_project_folder
npm स्थापित -g मोचा
npm स्थापित करें

नोड_मॉड्यूल फ़ोल्डर को आपके परीक्षण प्रोजेक्ट फ़ोल्डर में जोड़ा जाना चाहिए और सभी निर्भरताएं सफलतापूर्वक स्थापित की जानी चाहिए।

4. अपने टेस्ट प्रोजेक्ट फोल्डर पर टेस्ट फोल्डर बनाएं।

cd your_test_project_folder
mkdir परीक्षण

मोचा को चलाने के लिए परीक्षण फ़ाइलों को खोजने के लिए निर्देशिका को परीक्षण कहा जाना चाहिए।

5. अपनी पहली एपीआई टेस्ट फाइल बनाएं

आप अपनी मोचा फ़ाइलों को कुछ भी नाम दे सकते हैं। हालाँकि, यदि आप कई समापन बिंदुओं का परीक्षण कर रहे हैं जो कि मॉडल के सेट से जुड़े हैं, तो मैं उन्हें "yourModel_test.js" नाम देने की सलाह देता हूं। इस उदाहरण के लिए, परीक्षण निर्देशिका के भीतर एक user_test.js फ़ाइल बनाएं। अपने API url को वैश्विक वैरिएबल पर सेट करना न भूलें। जब आप सुपरटेस्ट का उपयोग करके अपने RESTful अनुरोध करते हैं तो आप इस चर को कॉल करेंगे।

6. इन कमांडों को चलाकर अपना पहला एपीआई टेस्ट चलाएं

cd your_test_project_folder
npm शुरू
या
cd your_test_project_folder
JUNIT_REPORT_PATH = परीक्षण-परिणाम / परिणाम। Xml JUNIT_REPORT_STACK = 1 मोचा - 25000 रु।

यहाँ परीक्षा परिणाम है

टर्मिनल से परीक्षा परिणामresult.xml

7. अपने टेस्ट रनर कमांड को रखने के लिए entrypoint.sh बनाएं।

8. डॉकफाइल बनाएं जो जेनकिंस सीआई पर इस्तेमाल किया जाएगा।

9. अपने जेनकींस जॉब आइटम बनाएं

नई जेनकींस जॉब आइटमजेनकींस जॉब आइटम (1)जेनकिंस जॉब आइटम (2)जेनकींस जॉब आइटम (3)

आप परीक्षा परिणाम पर चेतावनी को पहले नजरअंदाज कर सकते हैं, यह काम चलाने के बाद गायब हो जाएगा।

इसके बाद जॉब क्रिएट करने के लिए SAVE बटन पर क्लिक करें।

10. अपना जेनकिंस जॉब चलाएं और परीक्षा परिणाम देखें।

प्ले बटन पर क्लिक करके जेनकिंस जॉब चलाएंजेनकिंस नौकरी से परीक्षा परिणाम

मेरे परीक्षा परिणाम आप से अलग होंगे क्योंकि मैंने यह पोस्ट लिखते समय पहले से ही नौकरी चला रखी थी।

बधाई हो, आपने अब अपने एपीआई परीक्षण को सफलतापूर्वक स्वचालित कर दिया है। अगली पोस्टिंग मैं अपने स्वयं के परीक्षण ढांचे को बनाने के लिए अपने विचार के बारे में जानकारी दूंगा।

खुश परीक्षण!

स्रोत: http://developmentnow.com/2015/02/05/make-your-node-js-api-bulletproof-how-to-test-with-mocha-cha-and-supertest/