gpt4 book ai didi

javascript - Istanbul.js - 从源代码中删除装饰

转载 作者:行者123 更新时间:2023-12-03 07:42:10 24 4
gpt4 key购买 nike

在初始状态下,我有例如app.module.js 包含以下 Angular 应用程序代码:

'use strict';

var app = angular.module('bumblebee', []);

为了获得 e2e Protractor 测试的测试覆盖率,我应用了 gulp-istanbul

gulp.task('decorate:code:istanbul', function() {
return gulp.src('./app/')
.pipe(istanbul({
includeUntested: true,
coverageVariable: '__coverage__'
}))
.pipe(gulp.dest(./app/));
});

它的作用是用istanbul消化我的所有文件,这样它们里面就会有代码覆盖率修饰,就像我的文件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 测试,获取代码覆盖率并将其用作原始代码。我认为这不是很有效。

最佳答案

删除该检测代码是一场噩梦。移除它所花费的时间与安装它所需的时间一样长,甚至更长。将要检测的代码复制到新文件夹,对其进行检测,然后使用该代码来确定覆盖率是一种非常常见的做法。无论是否有效,这都是 Istanbul 尔获得覆盖的最佳方式。

关于javascript - Istanbul.js - 从源代码中删除装饰,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35364935/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com