Как новичок в тестах и ​​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 и немного расскажем о принципах тестирования компонентов.

Эй, тебе нравится, как я написал? Не стесняйтесь давать мне несколько советов и комментариев!