1

requirejsKarma でモジュールをロードするために使用しましたが、問題なく動作しました。に変更requirejsするとwebpack、カルマはテスト ケースを実行しません。mochasinonchaiテスト フレームワークとして使用します。

├── src
|   ├── js
|       └── a.js
├── test
|   ├── spec
|        └── test_a.js

これが私のものkarma.conf.jsです:

var webpackConfig = require("../webpack.config");

module.exports = function(config) {
    config.set({
        basePath: '../',

        frameworks: ['mocha', 'chai', 'sinon'],

        files: [
            'test/**/test_*.js'
        ],

        preprocessors: {
        'test/**/test_*.js': ['webpack']
        },

        webpack: webpackConfig,

        proxies: {
           '/data/': '/base/test/data/'
        },

        exclude: [],

        client: {
            mocha: {
               reporter: 'html', 
               ui: 'bdd'
            }
        },

        reporters: ['progress'],

        port: 9876,

        colors: true,

        logLevel: config.LOG_DEBUG,

        autoWatch: false,

        browsers: ['PhantomJS', 'Chrome'],

        singleRun: false,

        concurrency: Infinity
    })
}

そして私webpack.config.jsは:

var webpack = require('webpack');
var path = require('path');

module.exports = {
    context: path.join(__dirname, 'src'),

    entry: {
        bundle1: './initializer.js'
    },

    output: {
        path: path.join(__dirname, 'src'),
        filename: '[name].js'
    },

    resolve: {
        extensions: ['', '.js'],
        modulesDirectories: ["./src", "node_modules"]
    },

    devtool: 'inline-source-map',

    module: {
        loaders: []
    }
}

test_a.jsは:

require([
   'jquery',
   'src/js/a'
], function($, A) { // $ and A load successfully

    describe('A', function() {
        beforeEach(function() {
            //****
        });

        afterEach(function() {
            //****
        });

        describe('#on()', function() { // will come to this line
            it('should ....', function() { //will come to this line too
                assert.ok(1 > 0, "A is working"); // never run into the function
            });
        });
   }

}

を実行するkarmaと、エラー メッセージは次のようになります。 ここに画像の説明を入力

4

1 に答える 1

0

私のテストファイルに変更requireした後、現在は機能しています。Commonjs モジュールをデフォルトとしてロードするために使用さdefineれるようです。webpackrequire

于 2016-05-18T05:47:41.233 に答える