Модульное тестирование: написание тестов для вашего Javascript-приложения.

Вы когда-нибудь создавали приложение для определенной цели, но в итоге оно использовалось для чего-то совершенно другого (термин «новая функция разблокирована» может быть термином для этого) или пользователь находит лазейку в вашем коде, которая приводит к уязвимости в вашем приложении что касается его безопасности. Ручное тестирование вашего кода не может точно предсказать, как пользователи собираются «эксплуатировать» ваше приложение, поскольку мы не можем думать одинаково. По этим причинам javascript значительно улучшился в написании кода и включил модульное тестирование в качестве этапа разработки приложений. Теперь вы можете писать свои коды и ожидать, что они будут работать так, как вы их запрограммировали.

Модульное тестирование на данный момент стало стандартом для разработки веб-приложений, а также преимуществом, когда речь идет о возможностях трудоустройства. Тем не менее, его часто говорят, что приложение для тестирования может быть головной болью. Однако тестирование вашего приложения не только служит способом обеспечения его эффективной работы, но также служит способом реализации других функций в вашем приложении, которые могли быть упущены во время разработки.

Теперь, когда мы понимаем, почему так важно писать наборы тестов для нашего приложения, следующий вопрос будет заключаться в том, как мне написать тест для приложения? Что ж, такие пакеты, как mocha, Jest, Jasmine и т. Д., Упростили жизнь разработчикам. Хотя я могу согласиться с тем, что просмотр документации по этим пакетам поначалу может показаться сложной задачей, но будьте уверены, что их очень легко изучить. Первый шаг - выбрать лучший инструмент для тестирования. Mocha и Jest - одни из лучших инструментов для тестирования. Однако это могло быть связано с предвзятым мнением.

Следующим шагом после установки этих пакетов с помощью Node Package Manager или Yarn является понимание причины теста, то есть, какую часть вашего приложения вы пытаетесь протестировать. В учебнике, который я сделал на своем канале YouTube, я решил написать тест для проверки конечных точек моего приложения. Имейте в виду, что мое приложение - это просто CRUD op. Мои наборы тестов были написаны для тестирования конечных точек маршрутизации и проверки возвращаемого значения этих конечных точек с помощью Jest с Supertest. Вы можете проверить это прямо здесь.

Как только вы поймете причину написания вашего теста, создайте каталог в корневой папке вашего приложения, назовите его «Test», затем создайте тестовый файл, например (RouteErrorHandle.test.js).

Расположение ваших папок может выглядеть следующим образом.

Следующим шагом будет написание набора тестов с использованием синтаксиса инструмента. Пример:

Вышеупомянутый набор тестов написан с использованием Jest и Supertest, и причина вышеупомянутого теста заключается в том, чтобы гарантировать, что сообщение об ошибке возвращается, когда пользователь попадает в конечную точку / маршрут, который не существует. Напоминаем, что само сообщение об ошибке является частью моего кода проверки приложения, и тест обеспечивает правильную работу кода (ов) проверки.

Хорошо, теперь, когда вы написали свой тест, следующий вопрос будет заключаться в том, как его запустить? Итак, используя файл package.json, вы можете написать сценарий, который вы будете запускать с помощью CMD.

Ваш package.json может выглядеть примерно так.

Конечно, не забудьте создать тестовую среду в своем приложении, чтобы разделить среды тестирования, разработки и производства. Вам может быть интересно, почему в вашем файле тестового сценария не указан файл для чтения. Это связано с тем, что при запуске сценария с именем test все файлы в каталоге Test проверяются и автоматически запускаются Jest.

Следующее, что нужно сделать, - это запустить скрипт, используя «yarn run test» или «npm run test», в зависимости от того, какой менеджер пакетов вы используете. Вы должны увидеть такой же результат в зависимости от успеха или неудачи теста.

Теперь, когда ваш тест составлен и пройден, поздравляем !! вы успешно протестировали свое приложение. Ознакомьтесь с моим руководством по написанию тестов прямо здесь, и вы также можете узнать больше из моего репозитория. Нажмите здесь, чтобы перейти на репо.

Идите дальше и напишите несколько тестов. Хлопки приветствуются😊. Спасибо и ура.