を使用してテストを実行するために失敗。問題は、エラー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です。というエラーがまだ出ているので、何か間違ったことをしているに違いないが、私の間違いが分からない。
どのように正確には、これを実行していますか? webpackに使用しているコマンドと実行しているディレクトリを含めてください。 –
@AndrewEisenberg:私は私の質問のUPDATEセクションに可能な最小限の再現性のある場合、リンクと要旨を作成しました。テストは、 'npm run test-karma'コマンドを発行することによって実行されます。最小再現可能な場合、テストファイルはカルマ設定ファイルと同じディレクトリにあります。 – azangru