在初始状态下,我有例如app.module.js和以下角应用程序代码:
'use strict';
var app = angular.module('bumblebee', []);为了获得e2e量角器测试的测试覆盖率,我应用了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中删除所有这些附加信息。有办法吗?
目前,我正在将所有源代码复制到新目录中,使用伊斯坦布尔对其进行测试,对此工具代码运行e2e测试,获取代码覆盖率并将其作为原始代码使用。在我看来,这并不是很有效。
发布于 2016-02-12 14:52:55
删除那个仪器代码是一场噩梦。如果不是更长时间的话,你会用同样长的时间把它移除,就像仪器一样长。将要检测的代码复制到新文件夹中,对其进行检测,然后使用该代码确定覆盖率是非常常见的做法。不管是否有效,这就是如何获得伊斯坦布尔报道的最佳方式。
https://stackoverflow.com/questions/35364935
复制相似问题