の構成のこの部分を考慮してくださいconnect
(より正確には、これは のサブタスクですconnect
):
test : {
options : {
middleware : function(connect) {
return [
require('connect-livereload')(),
mountFolder(connect, '.tmp'),
mountFolder(connect, 'test')
];
},
port : grunt.option('port') ? Number(grunt.option('port')) + 1 : 9001
}
}
上記は、指定されたフォルダーのファイルを http 経由で利用できるようにします。
.tmp
私のトランスパイルされたコーヒースクリプトとSCSSが通常のJS / CSSとして着陸する場所です
test
私のテストが、index.html
すべての JS/CSS を一緒に接続する非常に単純なファイルmocha.js
と共に存在する場所です。mocha.css
後で Gruntfile にtest
タスクを登録します。
grunt.registerTask('test', function(target) {
var tasks = [
'clean:server',
'coffee',
'jst',
'connect:test'
];
if (target === 'browser') {
tasks.push('open:test');
tasks.push('watch');
} else {
tasks.push('mocha');
}
grunt.task.run(tasks);
});
問題に関連する部分は'connect:test'
、ブラウザを介してテストにアクセスできるようにする部分です。これは次のとおりです。
if (target === 'browser') {
tasks.push('open:test');
tasks.push('watch');
} else {
tasks.push('mocha');
}
browser
ターゲットとして指定しない限りtest
、テストはコンソールでヘッドレスで実行されます。しかし、あなたが好きならgrunt test:browser
、Grunt は のおかげでブラウザを開きopen:test
ます。参考までに、私のopen:test
設定も含めます。
test : {
path : 'http://localhost:<%= connect.test.options.port %>'
}