ジャスミン タスクを実行するようにうなり声を設定しようとしています。
Gruntfile.js のジャスミン 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 呼び出しで、各ファイルに対して以下のエラーが発生します:
>> 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
上記の設定で、フルパスを使用したいことを意味するものはありますか?