10 pași Cum să automatizați testarea API în mod eficient ~

Înainte de a citi această postare, asigurați-vă că aveți cel puțin una dintre aceste probleme:

  1. Aveți probleme sau încă faceți testarea API manual?
  2. Lucrezi ca QA / QE / TE / SET folosind Postman / Insomnia / Paw adesea pentru a testa punctele tale de API API REST, deoarece nu știi exact să testezi punctele tale finale automat?
  3. Lucrezi ca QA / QE / TE / SET care dorește să separe testul de aplicație?

Scopul principal al acestui post este de a rezolva toate problemele menționate mai sus, automatizând testarea API și integrându-l cu Jenkins CI. Este mai ușor decât crezi dacă alegi instrumentele și tehnicile potrivite pentru acel job.

PREMISELE

  1. Node.js: Node.js este un runtime JavaScript construit pe motorul JavaScript V8 al Chrome. Node.js utilizează un model de I / O care nu blochează condus de evenimente, care îl face ușor și eficient. Ecosistemul pachet Node.js, npm, este cel mai mare ecosistem de biblioteci open source din lume.
  2. Mocha: Mocha este un cadru de testare javascript care facilitează testarea asincronă.
  3. Chai: Spre deosebire de Jasmine, o bibliotecă de afirmații suplimentare trebuie utilizată pentru a suplimenta Mocha. Chai este o bibliotecă de afirmații care vă permite să alegeți interfața de afirmare care vă place cel mai bine, incluzând „afirma”, „așteptați” și „ar trebui”.
  4. SuperTest: SuperTest este o extensie a SuperAgent, o bibliotecă ușoară de solicitare HTTP AJAX. SuperTest oferă abstractizări la nivel înalt pentru testarea răspunsurilor API-ului node.js cu afirmații ușor de înțeles.
  5. Docker: Docker este o platformă deschisă pentru dezvoltatori și sysadmins pentru a construi, expedia și rula aplicații distribuite, fie pe laptopuri, VM-uri pentru centre de date sau pe cloud.
  6. Jenkins CI: Jenkins este un server de automatizare open source scris în Java. Jenkins ajută la automatizarea părții non-umane a întregului proces de dezvoltare a software-ului, având acum lucruri comune, cum ar fi integrarea continuă, dar împuternicind în continuare echipele să implementeze partea tehnică a unei livrări continue.

Acest tutorial presupune că aveți deja:

  1. Node.js și docker instalate pe mașina dvs.
  2. Aplicație cu API-ul pe care doriți să testați care rulează deja. (Iată exemplul aplicației https://github.com/rifkyalikiki/exemplu-api-app)
  3. Jenkins CI deja instalat.

SĂ ÎNCEPEM

  1. Creați folderul proiectului dvs. de testare. De exemplu: exemplu-testare api
  2. Creați fișier package.json pentru a adăuga toate dependențele.

3. Instalați toate dependențele rulând aceste comenzi.

cd-ul dvs._test_proiect_folder
npm instalați -g mocha
instalare npm

Dosarul node_modules trebuie adăugat în folderul proiectului dvs. de test și toate dependențele ar trebui instalate cu succes.

4. Creați folderul de testare în folderul proiectului dvs. de testare.

cd-ul dvs._test_proiect_folder
test mkdir

Directorul trebuie să fie numit test pentru ca Mocha să găsească fișierele de testare care să fie rulate.

5. Creați primul dvs. fișier de testare API

Puteți numi fișierele dvs. mocha orice. Cu toate acestea, dacă testați mai multe puncte finale asociate seturilor de modele, vă recomand să le numiți „yourModel_test.js”. Pentru acest exemplu, este suficient să creați un fișier user_test.js în directorul de testare. Nu uitați să setați URL-ul API-ului la o variabilă globală. Veți apela această variabilă atunci când faceți solicitările dvs. RESTful folosind SuperTest.

6. Să executăm primul dvs. test API executând aceste comenzi

cd-ul dvs._test_proiect_folder
npm începe
sau
cd-ul dvs._test_proiect_folder
JUNIT_REPORT_PATH = test-rezultat / rezultat.xml JUNIT_REPORT_STACK = 1 mocha - timeout 25000 - culori - reporter mocha-jenkins-reporter

Iată rezultatul testului

rezultatele testelor de la terminalresult.xml

7. Creați entrypoint.sh pentru a plasa comanda runner test.

8. Creați fișierul dockerfile care va fi folosit pe Jenkins CI.

9. Creează-ți posturile Jenkins

Noul loc de muncă pentru JenkinsJenkins Post de muncă (1)Jenkins Post de muncă (2)Jenkins Post de muncă (3)

Puteți ignora mai întâi avertismentul rezultatului testului, acesta va dispărea după ce vom executa lucrarea.

După aceea, faceți clic pe butonul SAVE pentru a crea jobul.

10. Executați Jenkins Job și vedeți rezultatele testelor.

Rulați lucrarea jenkins făcând clic pe butonul RedareRezultatul testului din munca lui Jenkins

Rezultatele testelor mele vor fi diferite de dvs., deoarece am ocupat deja jobul în timp ce scriu această postare.

Felicitări, ați automatizat cu succes Testarea API acum. Următoarea postare Vă voi informa despre ideea mea de a vă crea propriul cadru de testare.

Testare fericită!

Sursa: http://developmentnow.com/2015/02/05/make-your-node-js-api-bulletproof-how-to-test-with-mocha-chai-and-supertest/