Показать сообщение отдельно
  #1 (permalink)  
Старый 26.06.2015, 14:13
Аватар для FINoM
Новичок
Отправить личное сообщение для FINoM Посмотреть профиль Найти все сообщения от FINoM
 
Регистрация: 05.09.2010
Сообщений: 2,298

Как включить препроцессор Babel в Karma?
(дубликат с Тостера)

Пытаюсь заставить работать Karma, но сами тесты писать с использованием Babel. Папка test/src/ будет хранить сорцы тестов, test/compiled/ - скомпилированные .js файлы. Сейчас получается запустить Карму и Бабел в разных вкладках терминала, но как включить препроцессор в Карме, не пойму. Такое впеатление, что Карма вовсе игнорирует свойство конфига preprocessors, так как туда я могу вообще всё что угодно запихнуть, а Карма даже не ругнется.

Вот последняя версия конфига.
// Karma configuration
// Generated on Fri Jun 26 2015 11:58:37 GMT+0300 (EEST)

module.exports = function(config) {
  config.set({

    // base path that will be used to resolve all patterns (eg. files, exclude)
    basePath: '..',


    // frameworks to use
    // available frameworks: [url]https://npmjs.org/browse/keyword/karma-adapter[/url]
    frameworks: ['jasmine', 'requirejs'],


    // list of files / patterns to load in the browser
    files: [
      'test/test-main.js',
      {pattern: 'test/karma.conf.js', included: false},
	  {pattern: 'test/compiled/*_spec.js', included: false}
    ],


    // list of files to exclude
    exclude: [
    ],


    // preprocess matching files before serving them to the browser
    // available preprocessors: [url]https://npmjs.org/browse/keyword/karma-preprocessor[/url]
	preprocessors: {
        'test/src/*_spec.js': [ 'babel' ]
    },
	
	babelPreprocessor: {
		options: {
			modules: "amd",
			sourceMap: 'inline'
		},
		filename: function (file) {
			return file.originalPath.replace(/\/src\//, '/compiled/');
		},
		sourceFileName: function (file) {
			return file.originalPath;
		}
	},
	
    // test results reporter to use
    // possible values: 'dots', 'progress'
    // available reporters: [url]https://npmjs.org/browse/keyword/karma-reporter[/url]
    reporters: ['progress'],


    // web server port
    port: 9876,


    // enable / disable colors in the output (reporters and logs)
    colors: true,


    // level of logging
    // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
    logLevel: config.LOG_INFO,


    // enable / disable watching file and executing tests whenever any file changes
    autoWatch: true,


    // start these browsers
    // available browser launchers: [url]https://npmjs.org/browse/keyword/karma-launcher[/url]
    browsers: ['Chrome'],


    // Continuous Integration mode
    // if true, Karma captures browsers, runs the tests and exits
    singleRun: false
  });
};



Кусочек package.json
"devDependencies": {
	...
		"jasmine-core": "^2.3.4",
		"karma": "^0.12.37",
		"karma-chrome-launcher": "^0.2.0",
		"karma-jasmine": "^0.3.5",
		"grunt-karma": "~0.11.1",
		"karma-babel-preprocessor": "~5.2.1"
	},
__________________
"Matreshka is fucking awesome" © чувак с Reddit
Matreshka.js - Три возможности
Ответить с цитированием