我希望我的基于Grunt的设置同时运行“test”(即单元测试)和“server”(即Web服务器),这样我就可以grunt testAndServer
同时运行(并在更改任何文件时更新)在同一终端中。
代码(大部分内容基于yo angular
脚手架):
// in initConfig:
concurrent: {
testAndWebServer: [
'karma',
'watch'
]
},
以后
grunt.registerTask('testAndServer', function (target) {
if (target === 'dist') {
return grunt.task.run(['build', 'open', 'connect:dist:keepalive']);
}
grunt.task.run([
'clean:server',
'concurrent:server',
'autoprefixer',
'compass',
'connect:livereload',
'open',
'concurrent:testAndWebServer'
]);
});
这实际上有效,但我在终端(PowerShell)窗口中没有得到任何输出。我希望业力任务能够显示测试结果。我该如何实现这一目标?
我在Windows 7上运行Node.js v0.10.20,在四核机器上运行。
答案 0 :(得分:6)
我刚刚意识到我错过了logConcurrentOutput
选项。
这使它起作用:
testAndWebServer: {
tasks: ['watch', 'karma'],
options: { logConcurrentOutput: true }
},