这可能是一个两部分的问题,因为我的配置可能有些混乱。我正在尝试为我的量角器测试获取代码覆盖率报告;使用istanbul的grunt-protractor-cover不再适用于量角器版本3.3所以我使用gulp-istanbul与量角器 - 伊斯坦布尔插件代替。我已经检测了我需要的文件,但我无法使用量角器来使用这些检测文件。
gulpfile.js:
var istanbul = require('gulp-istanbul');
var gulp = require('gulp');
var concat = require('gulp-concat');
gulp.task('concat', function(){
gulp.src('coverage/*.js')
// Instrument for protractor-istanbul-plugin:
.pipe(istanbul({coverageVariable: '__coverage__'}))
.pipe(concat('scripts.js'))
.pipe(gulp.dest('test/e2e/testresults'))
.pipe(istanbul.writeReports());
});
首先,Code coverage for Protractor tests in AngularJS的示例帮助我构建了最初的东西,但我觉得我的gulp.src
不正确。现在gulp.src
指向我的覆盖文件所在的位置。现在,我的npm run
命令在package.json中是"protractor": "gulp concat && protractor test/e2e/mockDataConf.js"
,当我运行此命令时,测试结果会在测试运行之前输出。我全面了解0/0 100%
报告中的所有内容。
mockDataConf.js:
..//configuration stuff here...
var istanbulPlugin = require('protractor-istanbul-plugin');
plugins: [{
inline: istanbulPlugin,
logAssertions: true,
failAssertions: true,
outputPath: '../../test/e2e/testresults'
}]
所以我应该使用我的检测文件将gulp.src
指向目录,为什么在测试运行之前显示报告输出?
编辑:我现在明白,这只是将我想要使用的文件连接起来并将它们装入script.js
文件中。一旦我全部工作,我会更新更新。