我正在使用 Karma 来测试我的 ES6 代码。当我添加karma-coverage
到组合中时,我需要添加覆盖工具的所有源文件以生成有用的报告,但是当我这样做时,Karma 在所有浏览器中都会给我这个错误:
PhantomJS 1.9.8 (Mac OS X 0.0.0) 错误
错误:不变违规:_registerComponent(...):目标容器不是 DOM 元素。
在 /var/folders/55/9_128mq95kz1q_2_vwy7qllw0000gn/T/41cf272955d73fbba8ad1df941172139.browserify:46444:0 <- ../../node_modules/react/lib/invariant.js:49:0
我的业力配置文件是:
basePath: '',
browserNoActivityTimeout: 100000,
frameworks: ['phantomjs-shim', 'mocha', 'chai', 'browserify'],
files: [
'./client/**/*.js',
'./client/**/*.spec.js'
],
exclude: [
'./client/dist/*.js',
],
preprocessors: {
'./client/**/*.js': ['browserify', 'sourcemap', 'coverage']
},
browserify: {
debug: true,
transform: [
['babelify', {
optional: ["runtime"],
plugins: ["rewire"]
}],
]
},
coverageReporter: {
instrumenters: { isparta : require('isparta') },
instrumenter: {
'**/*.js': 'isparta'
},
type : 'html',
dir : './coverage/'
},
reporters: ['mocha', 'coverage'],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: false,
browsers: ['Chrome', 'Firefox', 'Safari', 'PhantomJS'],
singleRun: true
如果我'./client/**/*.js',
从files
数组中删除,测试工作,但覆盖率只显示测试代码。我使用来自 gulp 的 Karma gulp-karma
,但我想这与问题没有任何关系。