Node API'лерин тестирлөө
Express маршруттарыңыздын иштээрин далилдеңиз — автоматтык түрдө, ар бир өзгөртүүдө — Jest жана Supertest менен
- Jest менен тесттер топтомун жазуу жана иштетүү (
describe,test,expect); - Supertest аркылуу Express колдонмосун башкаруу — портсуз,
listen'сиз; - чыныгы маршруттардын статус коддорун, JSON денелерин жана баштарын текшерүү;
- жай же тышкы көз карандылыкты (мисалы, маалымат базасын) алмаштыруу (mock), тесттер тез жана болжолдуу калышы үчүн;
- тесттердин ортосунда тесттик маалыматты баштапкы абалга келтирүү, ар бири өзүнчө иштеши үчүн.
1. Эмне үчүн API тесттерин автоматташтыруу керек?
Сиз Express менен маршруттарды курганды билесиз. Бирок рефакторингден, функция кошкондон же көз карандылыкты жаңылагандан кийин алар дагы эле иштээрин кантип билесиз? Колдонмону кол менен басып текшерүү жай, унутуп калуу оңой жана так кайталоо мүмкүн эмес. Автоматтык тест текшерүүнү бир жолу коддоп, аны түбөлүк иштетет.
Салыштыруу. Кол менен тестирлөө — шорпону бир жолу татып, бүт жума өзгөрбөйт деп үмүттөнгөнгө окшош. Автоматтык тест — ашканага орнотулган түтүн детектору: ал тынымсыз байкап, бир нерсе күйө баштаганда ошол замат кыйкырат, сиз бөлмөдө болсоңуз да, болбосоңуз да.
API тесттери ыңгайлуу деңгээлде турат. Алар модулдук тесттен (бир функцияны өзүнчө текшерет) кеңири, бирок толук учтан-учка тестке (жайгаштырылган серверде чыныгы браузерди башкарат) караганда арзан жана тез. API тести Express app колдонмоңузду эстутумга жүктөп, ага HTTP суроо-талап атып, жоопту карайт. Күнүнө жүздөгөн жолу иштетүүгө жетишерлик тез; маршруттоо, статус коду жана дене формасынын каталарын кармаганга жетишерлик реалдуу.