Как протестировать внутренний код nodejs с помощью Karma (testacular)
Как настроить Karma для запуска моих бэкэнд-модульных тестов (написанных с помощью Mocha)? Если я добавлю свой тестовый скрипт бэкэнда в files = []
не может утверждать, что require
не определено
2 ответа
Вы не Карма только для тестирования кода на основе браузера. Если у вас есть проект с тестами mocha на бэкэнде и karma/mocha на фронтэнде, попробуйте отредактировать ваш 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
- настроить две задачи grunt (см. файл grunt ниже)
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
команда.