Сначала происходит загрузка
boot.js или
node_boot.js - там в window или global пишутся все методы jasmine интерфейса. Типа вот так
'use strict';
var jasmineRequire = require('jasmine-core/lib/jasmine-core/jasmine');
var jasmine = jasmineRequire.core(jasmineRequire);
window.jasmine = jasmine;
jasmine.DEFAULT_TIMEOUT_INTERVAL = 1000;
var env = jasmine.getEnv();
var jasmineInterface = jasmineRequire.interface(jasmine, env);
function extend(destination, source) {
for (var property in source) {
destination[property] = source[property];
}
return destination;
}
extend(window, jasmineInterface);
Потом идёт добавление репортера, ну или можно написать свой, под конкретные задачи...
Инициализация под node.js отличается лишь ConsoleReporter'ом, в браузерной используется HtmlReporter.
После инициализации в window / global уже есть все it describe expect барахло, и можно писать спеки,
для их запуска просто делается
jasmine.getEnv().execute();
Там для ноды отдельно есть "удобная" обёртка для ленивых...
Если
глянуть исходники, то в принципе должно быть понятно по основным методам
showColors - отображать ли разноцветные сообщения, форточки не умеют
addSpecFile - добавить файлик спеки
addReporter - добавить репортер
configureDefaultReporter, он же ConsoleReporter
addMatchers не помню
loadSpecs - просто require спеков
loadHelpers - просто require хэлперов
loadConfigFile - загрузка конфига
loadConfig - загрузка конфига с объекта
addSpecFiles - добавить кучу файлов спек
onComplete - вызвать callback по завершению
stopSpecOnExpectationFailure - прервать выполнение тестов если возникает исключение
В принципе
var Jasmine = require('jasmine');
var jasmine = new Jasmine();
jasmine.loadConfig({
spec_dir: 'tests',
spec_files: [
'requests/**/*.js'
],
});
// или jasmine.loadConfigFile('spec/support/jasmine.json');
jasmine.configureDefaultReporter({
showColors: false // если это форточки
});
jasmine.execute();
Для запуска тестов в node.js будет достаточно.