4

Karma + Mocha を初めて使用しようとしています。

主な条件は、GUI を使用せずに Docker コンテナーで単体テストを実行することです。私はブラウザーを持っていません。私の唯一の選択肢は、PhantomJS を使用することです。

必要なすべてのプラグイン、構成などを構成しましたが、次のエラーを受け取りました。

ReferenceError: 変数が見つかりません: exports

テスト実行の前に、Babel で JavaScript ソース コードを「build」ディレクトリにビルドし、そこから Karma を起動しました。

この問題の原因は何ですか?

ここに私のkarma.conf.jsがあります:

// Karma configuration
// Generated on Mon Apr 25 2016 13:04:28 GMT+0300 (RTZ 2 (зима))
const path = require('path');
const webpack = require('webpack');

module.exports = function(config) {
  var confBuilder = require('./webpack.config');

  confBuilder.module.loaders.push({
      test: /\.jsx$/,
      loader: 'isparta',
      include: path.resolve('src'),
  });
  confBuilder.devtool = 'inline-source-map';

  config.set({

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


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


// list of files / patterns to load in the browser
files: [
  {pattern: 'build/utils/*.js', load: false}
],



// preprocess matching files before serving them to the browser
// available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor
preprocessors: {
  'tests.webpack.js': ['webpack', 'sourcemap'],
  'build/utils/*.js': ['babel']
},



// test results reporter to use
// possible values: 'dots', 'progress'
// available reporters: https://npmjs.org/browse/keyword/karma-reporter
reporters: ['mocha', 'coverage', 'jenkins'],

plugins: [
    require('karma-webpack'),
    require('karma-mocha'),
    require('karma-chai'),
    require('karma-mocha-reporter'),
    require('karma-jenkins-reporter'),
    require('karma-chrome-launcher'),
    require('karma-sourcemap-loader'),
    require('karma-coverage'),
    require('karma-phantomjs-launcher'),
    require('karma-requirejs'),
    require('karma-babel-preprocessor')
],

webpack: confBuilder,

webpackServer: {
    noInfo: true,
},

coverageReporter: {
    check: {
        global: {
            statements: 86,
            branches: 80,
            functions: 95,
            lines: 40,
        },
    },
},

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


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

0 に答える 0