Проект объединяет mocha и karma с другими библиотеками, которые улучшают синтаксис
и автоматизируют ваш тест. В следующей таблице описаны все библиотеки, используемые проектом:
LIB Описание Grunt.js Средство запуска задач, в этой демонстрации используется для просмотра изменений файлов и повторного запуска тестов. Библиотеки тестирования синтаксиса Chai и Sinon, которые добавляют некоторые функции к вашему тесту, например: синтаксис имитации и цепочки (ССЫЛКА) Blanket.js Библиотека покрытия кода JavaScript, которая работает как в браузере, так и с nodejs. Phantom.js PhantomJS — скриптовый безголовый браузер, используемый для автоматизации взаимодействия с веб-страницей.
Настройка проекта
Вот начальная структура демонстрационного проекта:
- Папка «js» содержит все файлы .js, которые мы будем тестировать;
- Папка «test» содержит все тестовые файлы, используемые фреймворком Mocha;
- «package.json» дает некоторую информацию о нашем проекте, а также устанавливает зависимости;
Установка пакетов проекта
Во-первых, вам нужно указать все зависимости разработчика в вашем package.json:
Запустите следующую команду в папке вашего проекта с правами администратора:
npm install
будет создана папка node_modules, в ней вы можете найти все библиотеки зависимостей.
Создание нового тестового случая
Теперь вы можете добавить в свой проект простой тестовый пример. Во-первых, вам нужно создать несколько файлов:
- js\Telefilm.js: он будет содержать простой класс для тестирования;
- test\test-telefilm.js: он будет содержать все тесты, выполненные на классе Telefilm;
- test\index.html: это точка входа в наш тест;
js\телефильм.js
Следующий код показывает структуру класса Telefilm:
тест\телефильм-test.js
Следующий код описывает все тесты, которые будут выполняться на классе Telefilm (все ссылки доступны здесь http://chaijs.com/api/bdd/
тест/index.html
Следующий код описывает индексную страницу проекта, она используется как точка входа в приложение, а также для просмотра результатов теста в браузере:
Запуск тестов в браузере
Теперь вы можете протестировать свой код, открыв index.html в браузере и посмотреть результаты тестов:
Запуск тестов в CLI
Вы также можете настроить Grunt для выполнения всех тестов с помощью командной строки:
- Добавьте Gruntfile.js в корневую папку вашего проекта;
- Настройте Gruntfile.js для выполнения библиотек mocha:
- Выполните команду:
- ворчание
- в корневом каталоге вашего проекта;
Запуск тестов мультиповедения с помощью Karma
В этом параграфе показано, как настроить Karma и Grunt для запуска тестов в нескольких браузерах, а также на PhatomJS:
- Вам нужно добавить среду karma в ваш файл конфигурации Gruntfile.js, скопируйте и вставьте следующий фрагмент внутри вашего объекта grunt.initConfig:
https:// gist.github.com/8434499843ba8e5016d9 - Добавьте в корневую папку файл karma.config.js, на который ссылается конфигурация Gruntfile:
https://gist.github.com/041325a7b15d700fcceb - Выполните следующую команду
- хрюкающая карма: dev
- в командной строке для выполнения тестов в Chrome, Firefox и PhantomJS;
Вывод
Эта демонстрация показывает, как настроить простую среду tdd, вы можете найти полный пример на github. Он также генерирует отчет о покрытиях в этой папке: test\coverage (для получения дополнительной информации о покрытии перейдите по этой ссылке.
Ваше здоровье :)