让 Istanbul.js 忽略 define (require.js) 定义
Getting Istanbul.js to ignore the define (require.js) definition
假设我有以下代码:
define([
'a'
], function(a) {
return {
initialize: function() {
},
stuff: function() {
}
};
});
伊斯坦布尔报告仅测试了1/3 的功能。这在某种程度上是正确的,因为我只有 运行 针对 main.initialize
.
的测试
如何让伊斯坦布尔忽略用于定义回调的函数?
编辑:附加 Gruntfile.js
配置
jasmine: {
coverage: {
src: 'src/assets/js/app/**/*.js',
options: {
specs: 'src/assets/js/spec/**/*Spec.js',
host: 'http://127.0.0.1:8000/',
template: require('grunt-template-jasmine-istanbul'),
templateOptions: {
//files: 'src/assets/js/app/**/*.js',
coverage: 'bin/coverage/coverage.json',
report: [
{type: 'html', options: {dir: 'src/coverage/html'}},
{type: 'text-summary'}
],
template: require('grunt-template-jasmine-requirejs'),
templateOptions: {
requireConfig: {
baseUrl: 'src/assets/js',
paths: {
/* 'jquery': 'lib/jquery',
'underscore': 'lib/lodash',
'text': 'lib/text',
'i18n': 'lib/i18n',*/
}
}
}
},
keepRunner: true
}
}
}
编辑:规范示例
define([
'app/main'
], function(main) {
describe('app/main', function() {
it('initailize should not error', function() {
expect(main.initialize()).toBe(undefined);
});
});
});
伊斯坦布尔让您在代码中明确定义自己的自定义忽略 here
您可以在文件顶部使用 /* istanbul ignore define */
以防止 define(...)
被检查。
希望对您有所帮助
假设我有以下代码:
define([
'a'
], function(a) {
return {
initialize: function() {
},
stuff: function() {
}
};
});
伊斯坦布尔报告仅测试了1/3 的功能。这在某种程度上是正确的,因为我只有 运行 针对 main.initialize
.
如何让伊斯坦布尔忽略用于定义回调的函数?
编辑:附加 Gruntfile.js
配置
jasmine: {
coverage: {
src: 'src/assets/js/app/**/*.js',
options: {
specs: 'src/assets/js/spec/**/*Spec.js',
host: 'http://127.0.0.1:8000/',
template: require('grunt-template-jasmine-istanbul'),
templateOptions: {
//files: 'src/assets/js/app/**/*.js',
coverage: 'bin/coverage/coverage.json',
report: [
{type: 'html', options: {dir: 'src/coverage/html'}},
{type: 'text-summary'}
],
template: require('grunt-template-jasmine-requirejs'),
templateOptions: {
requireConfig: {
baseUrl: 'src/assets/js',
paths: {
/* 'jquery': 'lib/jquery',
'underscore': 'lib/lodash',
'text': 'lib/text',
'i18n': 'lib/i18n',*/
}
}
}
},
keepRunner: true
}
}
}
编辑:规范示例
define([
'app/main'
], function(main) {
describe('app/main', function() {
it('initailize should not error', function() {
expect(main.initialize()).toBe(undefined);
});
});
});
伊斯坦布尔让您在代码中明确定义自己的自定义忽略 here
您可以在文件顶部使用 /* istanbul ignore define */
以防止 define(...)
被检查。
希望对您有所帮助