无法使用Karma运行测试
Failing to run tests using Karma
我正在设置Karma来简化遗留项目中的单元测试。问题是,我得到了一个错误You need to include some adapter that implements __karma__.start method!
。正如我所发现的,这是一个非常非特定的错误,因此我不知道如何进一步调试它。我已将设置减至最低限度,但错误仍然存在。
这是karma配置文件:
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)中引用的测试文件。我最初的想法是需要其中的所有规范文件,但现在我已将其更改为至少运行一个测试。还是没有运气:
import chai from 'chai';
var expect = chai.expect;
console.log('I was found');
it('works', function () {
expect(true).to.equal(true);
})
你能建议如何进一步调试这个问题吗?
UPDATE:这里有一个最小可重复情况的要点。我一定是做错了什么,因为我仍然收到错误You need to include some adapter that implements __karma__.start method!
,但我不能找出我的错误是什么。
尝试在karma配置中删除对chai-sinon
的引用。我把它去掉后,测试就开始运行了。我不能确切地解释原因,但可能是版本不兼容。
相关文章:
- 茉莉花宝石-耙茉莉花:ci dons't运行测试
- PhantomJS在运行测试套件时崩溃
- 编写Karma+Mocha测试,同时使用依赖注入和“完成”
- 我可以't使用量角器perf运行测试示例
- 如何使用Karma单元测试运行程序捕获console.error
- 因果报应;t转换为requirejs后运行测试
- 手动触发 Karma 以重新运行测试
- 在PhantomJS 2中运行测试时,从Karma截取截图
- Webpack karma jasmine-requirejs在尝试运行测试时出错
- 设置Karma与jasmine一起运行测试,要求并做出反应
- 如何包含PHP文件在Karma/Jasmine中运行测试
- Gradle exec任务在用Karma运行javascript单元测试时挂起
- 运行karma + jasmine测试时下划线错误
- 在特定的浏览器版本上使用Karma运行单元测试
- 使用——单次运行标志时仅使用Karma运行测试出错
- Karma/Jasmine在没有运行测试的情况下超时
- 与独立的Mocha相比,用Karma运行测试的优势是什么?
- Karma在运行测试时给我带来了错误(与主干.js相关)
- Angular2 和 Karma 运行只有一个测试套件,也就是 describe.only
- 无法使用Karma运行测试