2

を使用してテストを実行するために失敗。問題は、エラーYou need to include some adapter that implements __karma__.start method!が発生していることです。私が見つけたように、これは非常に非特異的なエラーですので、私はそれをさらにデバッグする方法を失っています。セットアップを最小限に抑えましたが、エラーは引き続き発生します。ここで私はレガシープロジェクトにおけるユニットテストを簡素化するためにカルマを設定していますカルマ

はカルマの設定ファイルである:ここで

module.exports = function (config) { 
    config.set({ 
    browsers: [ 'PhantomJS' ], //run in Phantom 
    autoWatch: false, 
    singleRun: true, //just run once by default 
    frameworks: [ 'mocha', 'chai', 'sinon', 'chai-sinon' ], // test frameworks 
    port: 9876, 
    colors: true, 
    logLevel: config.LOG_INFO, 
    files: [ 
     './js/test/tests.webpack.js' //just load this file 
    ], 
    preprocessors: { 
     './js/test/tests.webpack.js': [ 'webpack', 'sourcemap' ] //preprocess with webpack and our sourcemap loader 
    }, 
    reporters: [ 'mocha' ], //report results in this format 
    webpack: { // webpack settings 
     devtool: 'inline-source-map', 
     module: { 
     loaders: [ 
      { test: /\.js$/, loader: 'babel-loader' } 
     ] 
     } 
    }, 
    webpackServer: { 
     noInfo: true 
    }, 
    plugins: [ 
     'karma-mocha', 
     'karma-webpack', 
     'karma-sourcemap-loader', 
     'karma-mocha-reporter', 
     'karma-phantomjs-launcher', 
     'karma-chai', 
     'karma-sinon', 
     'karma-chai-sinon' 
    ] 
    }); 
}; 

は(package.jsonから)私がインストールされているパッケージは、次のとおりです。ここで

"babel-core": "^6.9.1", 
"babel-loader": "^6.2.4", 
"babel-plugin-module-alias": "^1.5.0", 
"babel-preset-es2015": "^6.9.0", 
"chai": "^3.5.0", 
"karma": "^1.0.0", 
"karma-chai": "^0.1.0", 
"karma-chai-sinon": "^0.1.5", 
"karma-chrome-launcher": "^1.0.1", 
"karma-mocha": "^1.0.1", 
"karma-mocha-reporter": "^2.0.4", 
"karma-phantomjs-launcher": "^1.0.1", 
"karma-sinon": "^1.0.5", 
"karma-sourcemap-loader": "^0.3.7", 
"karma-webpack": "^1.7.0", 
"mocha": "^2.5.3", 
"phantomjs": "^2.1.7", 
"phantomjs-polyfill": "0.0.2", 
"sinon": "^1.17.4", 
"sinon-chai": "^2.8.0", 
"webpack": "^1.13.1" 

は.babelrcです:

{ 
    "presets": ["es2015"] 
} 

そして、ここでは、私がkarma.conf.js(tests.webpack.js)で参照していますテストファイルです。私の最初のアイデアはすべてのスペックファイルを必要とすることでしたが、今では少なくとも1つのテストを実行するように変更しました。まだ運がありません:

import chai from 'chai'; 
var expect = chai.expect; 

console.log('I was found'); 
it('works', function() { 
    expect(true).to.equal(true); 
}) 

この問題をさらにデバッグする方法を教えてください。

更新日:最小再現可能なケースを持つgistです。というエラーがまだ出ているので、何か間違ったことをしているに違いないが、私の間違いが分からない。

+0

どのように正確には、これを実行していますか? webpackに使用しているコマンドと実行しているディレクトリを含めてください。 –

+0

@AndrewEisenberg:私は私の質問のUPDATEセクションに可能な最小限の再現性のある場合、リンクと要旨を作成しました。テストは、 'npm run test-karma'コマンドを発行することによって実行されます。最小再現可能な場合、テストファイルはカルマ設定ファイルと同じディレクトリにあります。 – azangru

答えて

3

はカルマの設定でchai-sinonへの参照を削除してください。私がそれを取り除くと、テストが実行されます。私は理由を正確に説明することはできませんが、おそらくバージョンの非互換性が進行中です。

+0

うわー!ちょうどうわー! 最小限のケースで、私は別のエラーが発生しました。 - タイプエラー[ネイティブコード] Assertion @ webpack:///~/chai/lib/chai/assertion.js:33:42 < - tests.webpack。 5963:31 のWebPACK:///tests.webpack - JS:4242:///~/chai/lib/chai/interface/expect.js:::9 tests.webpack.js 30 <43は、@ WebPACKのを期待しています。 js:9:11 < - tests.webpack.js:62:12'これはあなたと同じですか? – azangru

+0

Nope。それは私が得ているエラーではありません。最初に投稿したのと同じエラーが表示されます。私が「チャイシロン」を取り除くと、テストは期待どおりに実行されます。 –

+0

チャイが解決できないため、問題が発生しているようです –

関連する問題