Как новичок в тестах и js-тестах, я искал в Интернете учебные пособия о передовых методах тестирования компонентов, способах тестирования vuejs, лучших практиках в целом, хороших инструментах тестирования, учебных пособиях по TDD и BDD и так далее.
Когда я столкнулся со следующими вещами: Jest, AVA, Mocha, Chai, Sinon, Karma, Jasmine, Avoriaz, vue-test-utils, tape, jsdom, testcafe, PhantomJs…
OMFG, с чего мне НАЧАТЬ?
Вот почему я решил написать этот рассказ. Мне сложно выбрать и понять, какие инструменты являются лучшими и распространенными для тестирования, которые использует сообщество, и какой лучший выбор для написания тестов Vue js!
Второе, что я думаю, это как я могу понять все это содержание и объяснить вам! Что ж… я могу начать все категоризировать!
Ооочень давай начнем!
Бегуны по тестам
Вау, что это? Устройства для запуска тестов - это библиотеки или инструменты с множеством настроек для запуска файлов вашего теста. В нем есть много командных строк, в которых вы будете настраивать, как запускать тесты, и показывать результаты утверждений или сбоев.
Хорошо, я провел исследование и нашел этих тестовых исполнителей для Javascript:
- Лента
- Жасмин
- AVA
- Мокко
- Шутка
Лента
Эта структура поддерживает довольно минимальное ядро. Нативный отчет оставляет желать лучшего, поэтому многие люди используют библиотеки, чтобы сделать его более красочным и красивым. Кроме того, Tape - это действительно минимальная среда тестирования, в ней есть множество дополнительных функций, которые вы можете подключить, и она в основном служит своей цели - тестированию.
Жасмин
Простая и полная структура BDD. Так что у Жасмин есть свои методы шпионажа и утверждения.
AVA
Воспользуйтесь преимуществом одновременного выполнения тестов, что особенно полезно для тяжелых тестов ввода-вывода. Ребята, которые создали, гарантируют, что это минимальная, быстрая и чистая структура, простой синтаксис тестов, принудительное написание атомарных тестов и отсутствие неявных глобальных переменных.
Мокко
Как описывают создатели, этот фреймворк представляет собой многофункциональный тестовый фреймворк Javascript. У которого так много функций, которые вы можете настроить по своему усмотрению. Многие спорят, хорошо это или плохо. Mocha для шпионов и утверждений требует двух зависимостей Sinon и Chai, о которых мы поговорим позже.
Шутка
От Facebook Jest представляет собой «платформу тестирования с нулевой конфигурацией». Работает параллельно, как AVA, для максимальной производительности, имеет автоматическое восстановление глобального состояния для каждого теста, легко создает отчеты о покрытии кода ... Итак, Jest - это еще один полный и богатая структура, но вам не нужно НАСТРОИТЬ!
О разработке, управляемой поведением (BDD)
Если вы не знаете, что такое BDD, я объясню! Он был вдохновлен гибкими методологиями с целью приблизить деловой язык в техническом контексте.
Помимо тестов, которые необходимо использовать как документацию по базе кода, BDD привносит в код гибкий подход бизнес-документации: критерии и сценарии приемки.
В новых фреймворках BDD используется язык спецификаций, а не пользовательские истории. Где разработчики могут писать тесты в свободном формате, используя метод describe для описания набора тестов и it для опишите, что должен делать этот модульный тест.
СМЕРТНОСТЬ
Что касается моих выводов, все ненавидят и любят Mocha. Любят их богатые возможности, активное сообщество, производительность. Но ненавижу глобальные функции и общие состояния, много настроек для запуска и сериализации тестов.
AVA говорит, что они быстрые, но этот тест не говорит то же самое. Но насчет IO, я действительно не знаю, насколько он быстр.
Многие люди, защищающие ленту, уверены, что минимальный фреймворк сводится к следующему: Тестовые утверждения должны быть предельно простыми и полностью свободными от магии.
Другим нравится Jasmine за вашу простоту и родной язык BDD. У Jasmine и Tape хорошие показатели.
Хотя бы и не менее важно Шутка! Это еще один полный фреймворк, готовый к использованию. Философия Jest заключается в отсутствии инструментов настройки, поскольку они считают, что инженеры пишут больше тестов, что, в свою очередь, приводит к более стабильному и здоровому коду.
Заключение
Что ж, теперь я узнал и сделал свою первую акцию !!! С помощью этой простой истории, чтобы уменьшить мою небольшую боль по поводу этой огромной экосистемы javascript. Я думаю, что мы с тобой одинаковы, так что давайте учиться вместе!
Теперь мы немного знаем об инструментах, самих средствах запуска тестов и BDD !!! \ o /
Далее мы поговорим об Avoriaz и vue-test-utils и немного расскажем о принципах тестирования компонентов.
Эй, тебе нравится, как я написал? Не стесняйтесь давать мне несколько советов и комментариев!