- Testarea unitara1
- reprezinta testarea unei bucati mici de cod, cum ar fi o functie
- Testarea unitara a API-urilor2
- ne asigura ca parametrii sunt folositi corect de catre endpoint si ca acesta ne ofera un HTTP response la care ne asteptam, care poate fi o serie de date sau o eroare, de obicei in format JSON
- ne ajuta sa ne asiguram ca payload-ul este scris corect, de exemplu: trimitem un POST request catre server, iar in payload am scris city in loc de City care este numele cunoscut de baza de date
- Integrarea continua 3
- este o tehnica folosita in dezvoltarea software prin care codul este incarcat intr-un repository abia dupa ce a fost rulat cu succes un build si dupa ce a trecut de o serie de teste, garantand calitatea codului si minimizand numarul de bug-uri din aplicatie
- Express4: framework web pe care il voi folosi pentru a face request-urile HTTP si a configura rutele
- Jest5: framework de testare pentru JS, pe care il voi folosi pentru testele unitare
- Supertest6: framework de testare pentru request-uri HTTP, care ne scuteste de necesitatea de a avea un server pornit cand ruleaza testele
- MongoDB Atlas7: platforma cloud prin care accesez o baza de date non-relationala deja populata8 si ma conectez la aceasta printr-un server hostat pe Azure
- dotenv9: un secret manager pe care il folosesc sa pastrez secret connection string-ul pentru baza de date intr-un fisier .env
- GitHub Actions10: platforma care ne ajuta sa automatizam integrarea continua a aplicatiei
- Swagger11: unealta care ne ajuta sa vizualizam in detaliu toate endpoint-urile unui API si ne permite si sa testam manual
- Postman12: unealta prin care putem face request-uri si vedea apoi response-ul pentru testarea manuala a API-ului
- CPU: Intel Core i5-1135G7
- GPU: Intel TigerLake-LP GT2
- RAM: 16 GB
- Stocare: SSD 512GB
- SO: Fedora Linux 41 in dual boot
- IDE: JetBrains WebStorm 2024.3.5
Baza de date non-relationala pre-populata de la MongoDB Atlas, pe modelul Airbnb: https://www.mongodb.com/docs/atlas/sample-data/sample-airbnb/
Au fost testate unitar 3 endpoint-uri:
- GET /airbnb/id
- GET /airbnb/with-facility
- GET /airbnb/best-by-location
API-ul poate fi testat si manual, cu ajutorul Postman si Swagger:
Integrarea continua cu GitHub Actions
● Rulează pe o mașină virtuală cu Ubuntu
● Instaleaza pachetele din npm cu ‘npm ci’, mai eficienta decat ‘npm install’ in acest context
● Rulează build-ul programului cu npm run build
● Rulează testele unitare cu npm test
● Variabilele necesare pentru conectarea la baza de date sunt stocate ca secrete in GitHub Actions
Raport despre folosirea Deepseek