4

我希望我的基于 Grunt 的设置同时运行“测试”(即单元测试)和“服务器”(即 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。

4

1 回答 1

6

我才意识到我错过了这个logConcurrentOutput选项。

这使它工作:

  testAndWebServer: {
    tasks: ['watch', 'karma'],
    options: { logConcurrentOutput: true }
  },
于 2013-11-07T12:33:35.417 回答