Мир стремительно уходит от монолита к микросервисам. Многие стартапы или даже огромные компании разрабатывают свою новую систему в Микросервисах. По мере роста спроса на разработчиков микросервисов растет спрос на тестировщиков автоматизации API.

Поскольку в настоящее время javascript становится все более и более популярным, растет спрос на тестировщиков автоматизации API, которые знают javascript/typescript. Посмотрите, как растет популярность javascript:

ссылка: https://madnight.github.io/githut/#/pull_requests/2021/1

Для javascript доступно множество популярных библиотек тестирования:

  1. Шутка
  2. Мокко
  3. Жасмин
  4. Ава

Тогда зачем шутить:

Основываясь на моем опыте тестирования API с использованием различных библиотек тестирования javascript, я думаю, что ниже приведены ключевые преимущества, которыми обладает jest, а другие нет.

  • Популярный
  • Настройка из коробки
  • Моментальное тестирование
  • Интеллектуальное распараллеливание
  • Гибкое утверждение

Давайте посмотрим в деталях

Популярный

Ключевое решение при выборе библиотеки — посмотреть, насколько она популярна среди сообщества. Вот данные о том, насколько популярна шутка:

иди проверь сам: https://www.npmtrends.com/jest-vs-mocha-vs-jasmine-vs-ava

Настройка из коробки

Настройка Jest — это кусок пирога. Это очень просто и интуитивно понятно, попробуйте сами: https://jestjs.io/docs/getting-started

Также Jest включает в себя все популярные пакеты, необходимые для автоматизации тестирования:

  • Для утверждения — ожидайте. Если вы используете мокко, вам нужно установить chai отдельно.
  • Конфигурация файла Env: вы можете использовать это, чтобы легко настроить файлы перед запуском тестов.
  • Вы можете легко издеваться над любой библиотекой запросов, используя шутку mock. В случае других бегунов вам нужно установить mocking lib отдельно.

Моментальное тестирование

Никакая другая структура в javascript не имеет этой функции тестирования моментальных снимков.

Для тестирования API нам нужно подтвердить множество объектов json, таких как объект заголовка, объект тела ответа. Когда существует 100 различных пар запросов и ответов. Нам нужно постоянно обновлять JSON-файл ожиданий всякий раз, когда происходит изменение схемы ответа. Этого можно избежать с помощью шутки.

Снапшоты создаются автоматически:

ожидать(данные).toMatchSnapshot();

И для обновления моментального снимка есть простой способ обновления с помощью команд CLI, тогда как в других тестовых средах вам нужно найти соответствующий файл json и обновить его.

Распараллеливание

Jest запускает тестовые наборы параллельно по умолчанию и работает с умом. Таким образом, вам не нужно ничего указывать в конфигурации, чтобы указать, сколько экземпляров нужно запускать параллельно. Единственное, что нужно убедиться, это то, что тесты не используют совместное состояние.

Утверждение

В Jest встроена эта замечательная ассертивная lib, и она предоставляет различные преимущества по сравнению с другими.

Например: expect.extend(matchers).скажем, вы тестируете служебную библиотеку чисел и часто утверждаете, что числа появляются в определенных диапазонах других чисел. Вы можете абстрагироваться от этого в сопоставитель toBeWithinRange. "Ссылка на сайт".

Документация

И последнее, но не менее важное: документация. У нее потрясающая документация и api по сравнению со всеми другими библиотеками тестирования в javascript, что действительно важно для любых потребностей разработки.

Теперь у нас есть все основания начать писать наши интеграционные тесты в шутку. 🚀

Что дальше? Вот серия для настройки платформы Jest Automation:

1. https://vinodmuralidharan.medium.com/api-test-automation-framework-jest-understanding-ab4fbb471c2c

2. https://vinodmuralidharan.medium.com/api-test-automation-framework-jest-setup-12226b41e267