Как протестировать внутренний код 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 команда.

Другие вопросы по тегам