Юнит-тесттерді кеңейту: CREATE/UPDATE/DELETE үшін толық интеграциялық тесттер (Supertest).
Бұл – веб-қосымшаның (көбіне Node.js + Express) API-ларын толық тексеру үшін жазылатын интеграциялық тесттер. Тесттер Supertest пакеті арқылы серверге шынайы HTTP сұраныстар жасап, CREATE / UPDATE / DELETE операциялары дұрыс жұмыс істейтінін тексереді.
Юнит-тест пен интеграциялық тесттің айырмасы:
Түрі Не тексереді Ерекшелігі Юнит-тест Жеке функция, логика Тек кодтың ішкі жұмысын тексереді Интеграциялық тест API, дерекқор, роутер Шынайы серверге сұраныс жасайды
Supertest – Express серверіне HTTP арқылы сұраныс жасауға арналған интеграциялық тест құралы.
📌 CMD (Қадамдық жоспар)
- Тестілеу ортасын дайындау
Node.js орнатылғанын тексеру
Жобаға Supertest және Jest/Mocha орнату
npm install supertest jest --save-dev
Test database баптау (қажет болса SQLite/In-memory)
- Тест құрылымын дайындау
tests/ папкасын құру
Тест файлын жасау:
tests/user.test.js
Серверді импорттау
const request = require("supertest"); const app = require("../app");
- CREATE (POST) операциясына тест жазу
Мақсаты: жаңа ресурс дұрыс жасалатынын тексеру
/api/users маршрутына POST жіберу
201 статус күту
JSON ішінде дұрыс құрылым барын тексеру
- UPDATE (PUT/PATCH) операциясына тест жазу
Мақсаты: бар дерек дұрыс жаңартылатынын тексеру
Алдымен қолданушыны жасау
/api/users/:id маршрутына PUT жіберу
Өзгеріс сақталғанын тексеру
- DELETE операциясына тест жазу
Мақсаты: ресурс дұрыс өшірілетінін тексеру
Алдымен қолданушыны жасау
/api/users/:id DELETE сұранысын орындау
200 немесе 204 статус күту
Өшірілген деректі қайта шақырғанда 404 қайтуын тексеру
-
Қосымша жағдайларды тексеру (Negative tests) ID табылмаса → 404 Дұрыс емес JSON → 400 Дерекқор қатесі (mock)
-
Тестті іске қосу npm test
-
Тест нәтижелерін талдау Қай тест сәтсіз болды → қате кодты түзету CI жүйесіне қосу (GitHub Actions, GitLab CI)
-
Қорытынды Интеграциялық тест API-дың толық жұмысын тексереді
CREATE/UPDATE/DELETE логикасы толық қорғалған болады
Жоба қауіпсіз әрі тұрақты жұмыс істейді