2013-11-07 1 views
4

Я хочу, чтобы моя установка на основе Grunt выполняла одновременно «тест» (например, модульные тесты) и «сервер» (то есть веб-сервер), чтобы я мог просто выполнить grunt testAndServer для запуска оба (и обновляют оба, когда любой файл изменяется) в том же терминале.Grunt concurrent task noting

кодекс (большая часть этого основана на 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) окно. Я хотел бы, чтобы задача кармы показывала результаты тестов. Как я могу добиться этого?

Я запускаю Node.js v0.10.20 на Windows 7, на машине quadcore.

+0

Любопытно, почему вам нужно, чтобы запустить одновременно? –

+0

@limelights Поскольку я не хочу запускать тест и сервер в отдельных терминалах cmd.exe, я хочу, чтобы они запускались в одном терминале. –

+0

Я просто сделал крупное изменение: фактически выполняются задачи и реагируют на изменения файлов, однако они ничего не выводят в окне терминала. Что плохо для тестовой задачи, так как я хочу видеть этот вывод. –

ответ

6

Я только что понял, что пропустил опцию logConcurrentOutput.

Это делает его работу:

testAndWebServer: { 
    tasks: ['watch', 'karma'], 
    options: { logConcurrentOutput: true } 
    }, 

 Смежные вопросы

  • Нет связанных вопросов^_^