Технические средства
- Node.js (https://nodejs.org) - программная платформа, основанная на движке браузера Chrome V8; позволяет выполнять JavaScript код
- Karma (https://karma-runner.github.io) - настраиваемый движок, который позволяет запускать тесты (TestRunner)
- Jasmine(http://jasmine.github.io/) - js-библиотека для unit-тестирования JavaScript
- PhantomJS(http://phantomjs.org/) - полноценный браузер на основе WebKit из консоли
- IntelliJ IDEA(https://www.jetbrains.com/idea/) - IDE-среда для разработки (к сожалению, до сих пор в компании используется уже сильно устаревшая версия 13)
- Плагины IntelliJ IDEA для Node.js и Karma - дополнительные модули(plugins) для возможности запуска тестов Karma-Jasmine в IDE
Установка в системе
1. Скачать установочный файл Node.js и установить
всё по умолчанию (https://nodejs.org/en/ (Версия 5.x) )
2. Проверить в Windows
PowerShell (Все программы/Стандартные/Windows PowerShell/Windows PowerShell)
Команда: node -v
3. Установить библиотеки karma,jasmine,phantomjs в nodejs npm, для чего выполнить команды
из под WindowsShell
npm install -g karma
npm install -g jasmine
npm install -g jasmine-core
npm install -g karma-cli
npm install -g karma-jasmine
npm install -g phantomjs-prebuilt
npm install -g karma-phantomjs-launcher
Установка в IntellijIDEA(13)
В среде
1.Установить плагин Node.js
2. Установить плагин Karma
В проекте
1. Создать в проекте файл конфигурации запуска тестов для Karma, karma.conf.js
Удобнее, в корне проекта или папке с тестами, но это не очень важно, т.к. затем
надо будет этот путь прописывать в конфигурации запуска тестов на выполнение.
Пример
karma.config.js
module.exports = function(config) {
config.set({
basePath: '',
// файлы, в которых находится исходный код, необходимые библиотеки, сами
тесты
files: [
"./base/js/ext-4.2/ext-all.js",
"./base/js/FormStik.js",
"./base/js/isuprTrains.js",
"./test/js/isuprTrains.Test.js"
],
// указать конкретную
библиотеку для тестирования
frameworks: ['jasmine'],
// если тестировать в phantomjs, т.е. без явного запуска браузера
browsers: ["PhantomJS"]
});
};
2. Создать тестовый класс с использованием jasmine, c именем
<имя js файла>.Test.js (имя на самом деле не принципиально -
оно настраивается в конфиге karma.config.js)
Пример
jasmine- unit-теста
describe("First Test", function() {
it("makes testing
JavaScript awesome!", function() {
expect(true).toBe(true);
});
});
3. Создать запускающую конфигурацию в проекте
4.Выполнить конфигурацию (Run)
Результат выглядит приблизительно так: