API тесттерін тиімді автоматтандыру үшін 10 қадам ~

Осы жазбаны оқудан бұрын, сізде келесі мәселелердің біреуі бар екеніне көз жеткізіңіз:

  1. Сізде проблемалар бар ма немесе сіз әлі де API тесттерін қолдан жасайсыз ба?
  2. Сіз өзіңіздің соңғы нүктелеріңізді автоматты түрде қалай сынау керектігін білмейтін болсаңыз, REST API соңғы нүктелерін сынау үшін Postman / Ұйқысыздық / Paw көмегімен QA / QE / TE / SET ретінде жиі жұмыс жасайсыз ба?
  3. Сіз тестті бағдарламадан бөлгісі келетін QA / QE / TE / SET ретінде жұмыс жасайсыз ба?

Бұл лауазымның негізгі мақсаты - жоғарыда аталған барлық мәселелерді API-тесті автоматтандыру және оны Дженкинс СИ-ге біріктіру арқылы шешу. Егер сіз осы жұмысқа қажетті құралдар мен әдістерді таңдасаңыз, ойлағаннан гөрі оңай.

ҚАЖЕТТІЛІК

  1. Node.js: Node.js - бұл Chrome-дың V8 JavaScript қозғалтқышына негізделген JavaScript жұмыс уақыты ортасы. Node.js оқиғаны басқаратын, блоктамайтын I / O моделін қолданады, бұл оны жеңіл және тиімді етеді. Node.js пакеттік экожүйе, npm - ашық бастапқы кітапханаларға арналған әлемдегі ең үлкен экожүйе.
  2. Мокка: Мокка - бұл асинхронды тестілеуді жеңілдететін JavaScript тест жүйесі.
  3. Чай: Жасминнен айырмашылығы, мочаны толықтыратын қосымша кітапхана қажет. Чай - бұл «сендіру», «күту» және «керек» сияқты интерфейсті таңдауға мүмкіндік беретін бекіту кітапханасы.
  4. SuperTest: SuperTest - бұл SuperAgent, HTTP AJAX қарапайым кітапханасының кеңейтімі. SuperTest түсінуге оңай мәлімдемелермен node.j-тің API соңғы нүктесінің жауаптарын тексеру үшін жоғары деңгейдегі абстракцияларды ұсынады.
  5. Docker: Доктер - бұл ашық платформа, онда әзірлеушілер мен жүйелік әкімшілер ноутбуктерде, VM деректер орталығында немесе бұлтта таратылған қосымшаларды құра, орналастыра және басқара алады.
  6. Дженкинс Си: Дженкинс - бұл Java-да жазылған ашық бастапқы автоматтандыру сервері. Дженкинс бағдарламалық жасақтаманы әзірлеу процесінің адам емес бөлігін автоматтандыруға көмектеседі, қазіргі кезде жалпыға ортақ интеграция сияқты, бірақ командаларға үздіксіз жеткізілімнің техникалық бөлігін жүзеге асыруға мүмкіндік беру арқылы.

Бұл оқулықта сізде мыналар бар:

  1. Node.js және Docker компьютеріңізге орнатылған.
  2. Сіз сынап көргіңіз келетін API қолданбасы бұрыннан жұмыс істеп тұр. (Мына үлгі https://github.com/rifkyalikiki/example-api-app)
  3. Jenkins CI орнатылған.

БІРІНШІРІҢІЗ

  1. Сынақ жобалар қалтасын жасаңыз. Мысалы: мысал-апи-тестілеу
  2. Барлық тәуелділіктерді қосу үшін pack.json файлын жасаңыз.

3. Осы командаларды орындау арқылы барлық тәуелділіктерді орнатыңыз.

CD-ді сіздің_тест_проект_фильдер npm орнату -g Mokka npm орнату

Node_modules қалтасы сіздің сынақ жобаңыздың қалтасына қосылуы керек және барлық тәуелділіктер сәтті орнатылуы керек.

4. Сынақ жобаның қалтасында сынақ қалтасын жасаңыз.

cd сіздің_тест_проект_фильдер mkdir сынағы

Mocha тест файлдарын таба алатындай етіп каталогты тест деп атайды.

5. Бірінші API сынақ файлын жасаңыз

Сіз mocha файлдарына өзіңізге ұнайтын кез келген атау бере аласыз. Алайда, егер сіз модельдер жиынтығымен байланысты бірнеше соңғы нүктелерді сынап жатсаңыз, оларды «yourModel_test.js» деп атауға кеңес беремін. Бұл мысал үшін, тест каталогында user_test.js файлын жасаңыз. API URL мекенжайын ғаламдық айнымалыға орнатуды ұмытпаңыз. SuperTest көмегімен REST сұрауларын жасаған кезде сіз бұл айнымалы деп атайсыз.

6. Осы командаларды орындау арқылы бірінші API тестін жүргізіңіз

CD-тің_тест_күні
немесе
cd сіздің_тест_проект_қаптарыңыз JUNIT_REPORT_PATH = тест нәтижесі / нәтиже.xml JUNIT_REPORT_STACK = 1 ай - күту уақыты 25000 - түстер - репортер Mokka-Jenkins-Reporter

Міне, тест нәтижесі

Терминалдан алынған тест нәтижелерінәтиже.xml

7. Testpoint.sh құрып, тест жүгірушісі пәрменін орналастырыңыз.

8. Дженкинс CI-де қолданылатын док файлын жасаңыз.

9. Дженкинстің жұмыс элементтерін жасаңыз

Дженкинстің жаңа жұмыс ұсынысыДженкинске арналған бос жұмыс орны (1)Дженкинске арналған жұмыс орны (2)Дженкинске арналған жұмыс орны (3)

Алдымен тест нәтижесі туралы ескертуді елемеуге болады. Бұл жұмыс аяқталғаннан кейін жоғалады.

Содан кейін жұмыс жасау үшін САҚТАУ түймесін басыңыз.

10. Дженкинстің жұмысын бастаңыз және тест нәтижелеріне қараңыз.

Дженкинс жұмысын ойнату түймесін басу арқылы бастаңызДженкинстің жұмыс нәтижесі

Менің тест нәтижелерім сізден ерекшеленеді, өйткені мен осы жазбаны жазған кезде тапсырманы орындадым.

Құттықтаймыз, сіздің API тестіңізді сәтті автоматтандырдыңыз. Келесі постта мен өзімнің тест алаңын құру идеясына түсінік беремін.

Тесттен көңілді өтіңіз!

Дереккөз: http://developmentnow.com/2015/02/05/make-your-node-js-api-bulletproof-how-to-test-with-mocha-chai-and-supertest/