Как проверить код узла nodejs с кармой (testacular)

Как настроить Karma для выполнения моих тестов модулей (написанных с помощью Mocha)? Если я добавлю свой backend-тест script в files = [], он не будет заявлять, что require - undefined.

Ответ 1

Нет. Карма предназначена только для проверки кода на основе браузера. Если у вас есть проект с мокковыми тестами на бэкэнде и карма/мокко на передней панели, попробуйте отредактировать файл package.json под сценариями, чтобы установить тест: mocha -R spec && karma run karma.con

Затем, если npm test возвращает значение true, вы будете уверены, что он безопасен для фиксации или развертывания.

Ответ 2

Кажется, что это не может быть сделано (спасибо @dankohn). Вот мое решение с использованием Grunt:

  • Карма: обновите файл karma.conf.js

    • установить autoWatch = false;
    • set 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.