Как мне настроить Karma для запуска моих внутренних модульных тестов (написанных с помощью Mocha)? Если я добавлю свой тестовый скрипт серверной части в файл files = []
, он не сможет указать, что require
это не определено.
node.js
mocha
karma-runner
Сильвен
источник
источник
Ответы:
Вы этого не сделаете. Карма предназначена только для тестирования кода на основе браузера. Если у вас есть проект с тестами мокко на бэкэнде и карма / мокко на фронтенде, попробуйте отредактировать свой package.json в скриптах, чтобы установить test на:
mocha -R spec && karma run karma.con
Тогда, если
npm test
вернет true, вы узнаете, что фиксация или развертывание безопасно.источник
Похоже, это невозможно (спасибо @dankohn). Вот мое решение с использованием Grunt:
Карма: обновите файл karma.conf.js
autoWatch = false;
singleRun = true;
browsers = ['PhantomJS'];
(чтобы иметь встроенные результаты)Ворчание:
npm install grunt-contrib-watch grunt-simple-mocha grunt-karma
Gruntfile.js:
module.exports = function (grunt) { grunt.loadNpmTasks('grunt-simple-mocha'); grunt.loadNpmTasks('grunt-karma'); grunt.initConfig({ simplemocha: { backend: { src: 'test/server-tests.js' } }, karma: { unit: { configFile: 'karma.conf.js' } } }); // Default task. grunt.registerTask('default', ['simplemocha', 'karma']); };
Grunt (необязательно): настройте grunt-watch для запуска после изменения файлов спецификации или файлов для тестирования.
запустить все с помощью
grunt
команды.источник