Вникаю в js и тестирование, возник вопрос. Есть скрипт с разными функциями - script.js; установлен nodejs с chai.js и mocha.js; написал пример теста, он спотыкается, говоря что "viewCookie is not defined"
var assert = require('assert');
describe('Cookies', function() {
describe('viewCookie()', function() {
it('should return undefined', function() {
assert.equal(undefined, viewCookie());
});
});
});
как правильно запустить тест только одной функции из script.js? и как правильно к нему обратиться из дирректории, где лежит тест? а также что делать если в функции запрашиваются параметры вроде document. итд, хотелось бы как то подставлять туда возможные значения.
Попробуйте подключить файл script.js как модуль. То есть через require('./script.js')
(путь указан относительно файла с тестом). Но в этом случае вы должны в файле script.js добавить в конце конструкцию module.exports = *значение*
. Вместо значения будет объект содержащий функции которые вы собираетесь протестировать, например, {viewCookie: viewCookie, anotherFunction: anotherFunction}
Тогда в модуле теста подключив файл с функциями, вы можете вызывать их через переменную.
var script = require('./script.js');
var assert = require('assert');
describe('Cookies', function() {
describe('viewCookie()', function() {
it('should return undefined', function() {
assert.equal(undefined, script.viewCookie());
});
});
});
Если вы хотите этот файл с функциями использовать в браузере, то стоит сделать проверку на наличие module.exports, так как эта конструкция свойственна для Node.js Сделать это можно следующим образом:
if (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {
module.exports = *значение*;
}
Виртуальный выделенный сервер (VDS) становится отличным выбором
track - это hash Map
сайт без адаптивности При уменьшении примера в браузере хром и во всех остальных кроме мозилысайт уменьшается под размеры окна
Добрый деньБез связки 2-х таблиц пагинация работает отлично, но с hasMany не работает