0
在初始状态下,我有例如app.module.js有角的应用程序的下面的代码:Istanbul.js - 从源代码中删除装饰
'use strict';
var app = angular.module('bumblebee', []);
为了让测试覆盖端到端量角器测试中,我运用gulp-istanbul
。
gulp.task('decorate:code:istanbul', function() {
return gulp.src('./app/')
.pipe(istanbul({
includeUntested: true,
coverageVariable: '__coverage__'
}))
.pipe(gulp.dest(./app/));
});
这里做的事情是我的消化与伊斯坦布尔的所有文件,所以他们将有代码覆盖装修里面,就像我的文件app.module.js:
"use strict";
var __cov_BJkerWMhn194664Vc2WfiA = (Function('return this'))();
if (!__cov_BJkerWMhn194664Vc2WfiA.__coverage__) {
__cov_BJkerWMhn194664Vc2WfiA.__coverage__ = {};
}
__cov_BJkerWMhn194664Vc2WfiA = __cov_BJkerWMhn194664Vc2WfiA.__coverage__;
if (!(__cov_BJkerWMhn194664Vc2WfiA['c:\\project\\app.js'])) {
__cov_BJkerWMhn194664Vc2WfiA['c:\\project\\app.js'] = {
"path": "c:\\project\\app.js",
"s": {"1": 0, "2": 0},
"b": {},
"f": {"1": 0},
"fnMap": {
"1": {
"name": "(anonymous_1)",
"line": 6,
"loc": {"start": {"line": 6, "column": 9}, "end": {"line": 6, "column": 20}}
}
},
"statementMap": {
"1": {"start": {"line": 3, "column": 0}, "end": {"line": 3, "column": 171}}
},
"branchMap": {}
};
}
__cov_BJkerWMhn194664Vc2WfiA = __cov_BJkerWMhn194664Vc2WfiA['c:\\project\\app.js'];
__cov_BJkerWMhn194664Vc2WfiA.s['1']++;
var app = angular.module('bumblebee', []);
然后运行后测试并获取源代码覆盖范围我想从app.module.js中删除所有这些附加信息。有没有办法做到这一点?
P.S.目前,我将所有源代码复制到新目录中,使用istanbul进行测试,对此代码化代码运行e2e测试,获取代码覆盖率并将其用作原始代码。在我看来这不是很有效率。
但是'karma-coverage'以某种方式为单元测试做了这件事,对吧? – zmii
是的,它确实处理这些文件,但不同之处在于它随后提供了检测文件。它不会删除仪表代码。 – MBielski