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