我正在尝试设置 grunt 来运行 jasmine 任务。
这是我用于 Gruntfile.js 的 jasmine json
jasmine: {
src: '../app/src/**/*.js',
options: {
specs: '../app/test/spec/**/*.js',
template: require('grunt-template-jasmine-requirejs'),
templateOptions: {
requireConfigFile: '../app/src/main.js',
requireConfig: {
baseUrl: '../app/src',
paths: {
'text': '../libs/requirejs/text',
'jquery': '../libs/jquery/jquery-1.9.1',
'jqueryui': '../libs/jqueryui/jquery-ui-1.10.2',
'lodash': '../libs/lodash/lodash-underscore.min',
'backbone': '../libs/backbone/backbone',
'relational': '../libs/backbone.relational/backbone.relational',
'marionette': '../libs/backbone.marionette/backbone.marionette',
'handlebars': '../libs/backbone.handlebars/handlebars',
'bootstrap': '../libs/bootstrap/bootstrap',
'async': '../libs/async/async'
},
shim: {
lodash: {
exports: '_'
},
backbone: {
deps: ['lodash', 'jquery'],
exports: 'Backbone'
},
relational: {
deps: ['backbone', 'lodash', 'jquery'],
exports: 'Backbone'
},
marionette: {
deps: ['backbone', 'extend'],
exports: 'Backbone.Marionette'
},
handlebars: {
exports: 'Handlebars'
},
bootstrap: {
deps: ['jquery'],
exports: '$.fn.popover'
},
async: {
exports: 'async'
}
}//,
//name: 'main'
}
}
}
}
仅供参考:我尝试过有名和无名:“主要”评论。
问题是,如果我尝试加载它生成的_SpecRunner.html,它会显示正确的文件列表,但为了尝试拉入文件列表,它永远不会将“.js”附加到末尾。在要求列表中,它们没有列出'.js',我明白了,因为除非它是完整路径,否则它们不应该有'.js'。但他们列为完整路径,但我不认为他们需要,这就是我的问题所在。
require([
'/Users/<username>/dirs/to/app/src/application' ,
'/Users/<username>/dirs/to/app/src/collections/content/actions'....],
function() {...});
为了进行测试,我只是在做一个命令行: grunt jasmine call 并且我得到每个文件的以下错误:
>> Error: scripterror: Illegal path or script error: ['/Users/<username>/dirs/to/app/src/views/toolbar/toolbar'] at
>> _SpecRunner.html:21
>> .grunt/grunt-contrib-jasmine/require.js:12 v
>> .grunt/grunt-contrib-jasmine/require.js:29
我在上面的配置中设置了什么暗示我想使用完整路径?