Karma - это программа для тестирования JavaScript, созданная с использованием Node.js и предназначенная для модульного тестирования.
Транспортир предназначен для сквозного тестирования и использует Selenium Web Driver для проведения тестов.
Оба были сделаны командой Angular. Вы можете использовать любую библиотеку утверждений, которую хотите.
Скринкаст: Карма Начало работы
связанные :
плюсы :
- Использует node.js, совместимый с Win / OS X / Linux
- Запускать тесты из браузера или без помощи PhantomJS
- Запускать на нескольких клиентах одновременно
- Возможность запуска, захвата и автоматического закрытия браузеров
- Возможность запуска сервера / клиентов на компьютере разработчика или отдельно
- Запускать тесты из командной строки (можно интегрировать в ant / maven)
- Написать тесты в стиле xUnit или BDD
- Поддерживает несколько тестовых сред JavaScript
- Автозапуск тестов при сохранении
- Прокси-запросы междоменные
- Можно настроить:
- Расширьте его, чтобы обернуть другие тестовые фреймворки (Jasmine, Mocha, QUnit встроенный)
- Ваши собственные утверждения / опровержения
- Репортеры
- Браузерные пусковые установки
- Плагин для WebStorm
- Поддерживается IDE Netbeans
Минусы :
Я абсолютно не квалифицирован, чтобы комментировать особенности, сильные и слабые стороны mocha.js, но он был только рекомендован мне кем-то, кому я доверяю в сообществе JS.
Список функций, как сообщается на его сайте:
- поддержка браузера
- простая асинхронная поддержка, включая обещания
- отчет о тестировании покрытия
- поддержка различий строк
- javascript # API для запуска тестов
- правильное состояние выхода для поддержки CI и т. д.
- автоматически обнаруживает и отключает окраску для не-ttys
- отображает неперехваченные исключения в правильный тестовый набор
- поддержка тайм-аута асинхронного теста
- тайм-ауты теста
- поддержка уведомлений рычания
- отчеты о продолжительности испытаний
- выдвигает на первый план медленные тесты
- поддержка наблюдателя файла
- обнаружение глобальной переменной утечки
- при желании запустить тесты, которые соответствуют регулярному выражению
- автоматический выход для предотвращения «зависания» с активной петлей
- легко мета-генерировать комплекты и тест-кейсы
- поддержка файла mocha.opts
- кликабельные заголовки комплектов для фильтрации выполнения теста
- поддержка отладчика узлов
- обнаруживает множественные вызовы done ()
- используйте любую библиотеку утверждений, которую вы хотите
- расширяемая отчетность, в комплекте с 9+ журналистами
- расширяемые тестовые DSL или «интерфейсы»
- до, после, перед каждым, после каждого крючка
- произвольная поддержка транспилера (кофе-скрипт и т. д.)
- Пакет TextMate
Это больше не существует, вместо этого перенаправляет на sequential.js
Yolpo - инструмент для визуализации выполнения javascript. Разработчикам Javascript API предлагается написать свои сценарии использования, чтобы показать и рассказать об их API. Такие варианты использования составляют основу регрессионных тестов.
Футуристический тестовый бегун со встроенной поддержкой ES2015. Хотя JavaScript является однопоточным, IO в Node.js может происходить параллельно из-за его асинхронной природы. AVA использует это и выполняет ваши тесты одновременно, что особенно полезно для тяжелых тестов ввода-вывода. Кроме того, тестовые файлы запускаются параллельно как отдельные процессы, обеспечивая еще лучшую производительность и изолированную среду для каждого тестового файла.
- Минимально и быстро
- Простой тестовый синтаксис
- Запускает тесты одновременно
- Обеспечивает написание атомных тестов
- Нет скрытых глобалов
- Изолированная среда для каждого тестового файла
- Напишите свои тесты в ES2015
- Обещание поддержки
- Поддержка функции генератора
- Поддержка асинхронных функций
- Наблюдаемая поддержка
- Расширенные утверждения
- Дополнительный TAP o utput
- Чистые следы стека
Тестовый прогон JavaScript, созданный с помощью Node.js. Очень модульный и гибкий. Он поставляется с собственной библиотекой утверждений, но вы можете добавить свою собственную, если хотите. Библиотека утверждений отделена, поэтому вы также можете использовать ее с другими участниками тестирования. Вместо использования assert(!...)
или expect(...).not...
, он использует, refute(...)
что является хорошим поворотом imho.
Браузерный JavaScript-инструментарий для тестирования. Он выполняет тестирование браузера с помощью автоматизации браузера (например, JsTestDriver), статического тестирования HTML-страниц в стиле QUnit, тестирования в автономных браузерах (PhantomJS, jsdom, ...) и многого другого. Посмотрите на обзор !
Тестовый инструментарий Node.js. Вы получаете ту же библиотеку тестовых примеров, библиотеку утверждений и т. Д. Это также отлично подходит для гибридного браузера и кода Node.js. Напишите свой тестовый пример с помощью Buster.JS и запустите его как в Node.js, так и в реальном браузере.
Screencast: Buster.js Начало работы (2:45)
плюсы :
- Использует node.js, совместимый с Win / OS X / Linux
- Запускать тесты из браузера или без помощи PhantomJS (скоро)
- Запускать на нескольких клиентах одновременно
- Поддерживает тестирование NodeJS
- Не нужно запускать сервер / клиенты на компьютере разработчика (нет необходимости в IE)
- Запускать тесты из командной строки (можно интегрировать в ant / maven)
- Написать тесты в стиле xUnit или BDD
- Поддерживает несколько тестовых сред JavaScript
- Отложите тесты вместо того, чтобы комментировать их
- SinonJS встроенный
- Автозапуск тестов при сохранении
- Прокси-запросы междоменные
- Можно настроить:
- Расширьте его, чтобы обернуть другие тестовые фреймворки (встроенный JsTestDriver)
- Ваши собственные утверждения / опровержения
- Репортеры (xUnit XML, традиционные точки, спецификация, тап, TeamCity и другие встроенные)
- Настройте / замените HTML, который используется для запуска тестов браузера.
- Интеграция TextMate и Emacs
Минусы :
- Стил в бета-версии, поэтому может быть глючит
- Нет плагин для Eclipse / IntelliJ (пока)
- Не группирует результаты по os / browser / version, как TestSwarm *. Однако он выводит имя и версию браузера в результатах теста.
- Нет истории предыдущих результатов испытаний, таких как TestSwarm *
- Не полностью работает на окнах с мая 2014
* TestSwarm также является сервером непрерывной интеграции, в то время как вам нужен отдельный сервер CI для Buster.js. Однако он выводит XML-отчеты xUnit, поэтому его легко интегрировать с Hudson , Bamboo или другими CI-серверами.
https://github.com/jquery/testswarm
TestSwarm официально больше не находится в активной разработке, как указано на их веб-странице GitHub. Они рекомендуют карму, браузер-стэк-бегун или интерна.
Это основанная на поведении среда (как указано в цитате ниже), которая может заинтересовать разработчиков, знакомых с Ruby или Ruby on Rails. Синтаксис основан на RSpec, который используется для тестирования в проектах Rails.
Спецификации Jasmine могут быть запущены с html-страницы (в стиле qUnit) или от тестового бегуна (как Karma).
Jasmine - это основанная на поведении среда разработки для тестирования вашего кода JavaScript. Это не зависит от других JavaScript-фреймворков. Это не требует DOM.
Если у вас есть опыт работы с этой средой тестирования, пожалуйста, предоставьте больше информации :)
Проект дома: http://jasmine.github.io/
QUnit фокусируется на тестировании JavaScript в браузере, обеспечивая максимально возможное удобство для разработчика. Размытие с сайта:
QUnit - это мощный и простой в использовании набор юнит-тестов JavaScript. Он используется в проектах jQuery, jQuery UI и jQuery Mobile и способен тестировать любой универсальный код JavaScript
QUnit делится некоторой историей с TestSwarm (выше):
Изначально QUnit был разработан Джоном Резигом как часть jQuery. В 2008 году он получил собственную документацию по домам, именам и API, что позволяет другим использовать его и для модульного тестирования. В то время это все еще зависело от jQuery. Переписывание в 2009 исправило это, теперь QUnit работает полностью автономно. Методы утверждений QUnit соответствуют спецификации CommonJS Unit Testing, на которую в некоторой степени повлиял QUnit.
Проект дома: http://qunitjs.com/
Еще один замечательный инструмент - sinon.js Кристиана Йохансена, автора тестовой разработки JavaScript . Лучше всего описал сам:
Автономные тестовые шпионы, заглушки и макеты для JavaScript. Никакие зависимости не работают с любой структурой модульного тестирования.
Стажер Веб - сайт обеспечивает прямое сравнение функций для других структур тестирования в этом списке. Он предлагает больше возможностей, чем любая другая система тестирования на основе JavaScript.
Новая, но очень мощная среда тестирования. Это позволяет проводить тестирование на основе снимков, а также увеличивает скорость тестирования и создает новую динамику с точки зрения тестирования.
Проверьте один из их разговоров: https://www.youtube.com/watch?v=cAKYQpTC7MA
Еще лучше: начало работы