我的报道报告存在一个小问题。 我已经使用jasmine测试了功能,但覆盖率报告告诉我这些功能没有被覆盖。
我使用带有requirejs的jasminejs来测试我使用requirejs(带有主干)的代码。要使用grunt-contrib-jasmine运行specs gunt,使用grunt-template-jasmine-istanbul和grunt-template-jasmine-requirejs。 测试运行完全正常,如果我将一个日志放入未覆盖的函数,我可以看到这些函数被多次调用。
我的设置是否错误或为什么不包括increaseOffset?
这是我的咕噜声配置
jasmine: {
coverage: {
src: [
'js/collection/*.js',
'js/model/*.js',
'js/util/*.js',
'js/view/**/*.js'
],
options: {
specs: ['spec/**/*Test.js'],
summary: true,
template: require('grunt-template-jasmine-istanbul'),
templateOptions: {
coverage: 'test/coverage.json',
report: {
type: 'html',
options: {
dir: 'test/coverage'
}
},
thresholds: {
lines: 50,
statements: 75,
branches: 75,
functions: 90
},
template: require('grunt-template-jasmine-requirejs'),
templateOptions: {
requireConfigFile: 'js/configuration.js',
requireConfig: {
waitSeconds: 10
}
}
},
junit: {
path: 'test/junit'
}
}
}
}
这是一个示例类
define([
'jquery',
'underscore',
'backbone'
], function Filter_load($, _, Backone) {
'use strict';
/**
* Representation of Filter settings
*/
var Filter = Backone.Model.extend({
/**
* Define default values
*/
defaults: {
tags: [],
range: 0,
offset: 0,
limit: 10
},
/**
* Increase filter offset by filter limit
*/
increaseOffset: function Filter_increaseOffset() {
this.attributes.offset += this.attributes.limit;
}
});
return Filter;
});
这是本课程测试的一部分
define([
'model/Filter'
], function FilterTest_load(Filter) {
/**
* Validate the model/Filter class
*/
return describe('A Filter', function() {
/**
* Validate behavior of offset property
*/
describe('offset', function() {
var filter = new Filter();
it('should be 0', function() {
expect(filter.get('offset')).toBe(0);
});
it('and change to 100', function() {
filter.set('offset', 100);
expect(filter.get('offset')).toBe(100);
});
it('should increase by 11', function() {
filter.set('limit', 11);
filter.set('offset', 0);
expect(filter.get('offset')).toBe(0);
filter.increaseOffset();
expect(filter.get('offset')).toBe(11);
});
it('should increase stay on 10', function() {
filter.set('limit', 0);
filter.set('offset', 10);
expect(filter.get('offset')).toBe(10);
filter.increaseOffset();
expect(filter.get('offset')).toBe(10);
});
});
});
});
提前感谢