Проект объединяет 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 для выполнения всех тестов с помощью командной строки:

  1. Добавьте Gruntfile.js в корневую папку вашего проекта;
  2. Настройте Gruntfile.js для выполнения библиотек mocha:
  3. Выполните команду:
  • ворчание
  1. в корневом каталоге вашего проекта;

Запуск тестов мультиповедения с помощью Karma

В этом параграфе показано, как настроить Karma и Grunt для запуска тестов в нескольких браузерах, а также на PhatomJS:

  1. Вам нужно добавить среду karma в ваш файл конфигурации Gruntfile.js, скопируйте и вставьте следующий фрагмент внутри вашего объекта grunt.initConfig:
    https:// gist.github.com/8434499843ba8e5016d9
  2. Добавьте в корневую папку файл karma.config.js, на который ссылается конфигурация Gruntfile:
    https://gist.github.com/041325a7b15d700fcceb
  3. Выполните следующую команду
  • хрюкающая карма: dev
  1. в командной строке для выполнения тестов в Chrome, Firefox и PhantomJS;

Вывод

Эта демонстрация показывает, как настроить простую среду tdd, вы можете найти полный пример на github. Он также генерирует отчет о покрытиях в этой папке: test\coverage (для получения дополнительной информации о покрытии перейдите по этой ссылке.

Ваше здоровье :)