2015-09-27 2 views
0

Всякий раз, когда меняются соответствующие файлы, я хотел бы объединить свои тесты и начать карму, показывая все неудачные тесты.Как связать тесты и запустить карму из задачи часов

я в настоящее время есть часы задачу:

gulp.task('default', ['browserify', 'css','runTests'], function() { 
    gulp.watch('./src/js/**/*.js', ['browserify']); 
    gulp.watch('./src/js/**/*.js', ['runTests']); 
}); 

что приводит к запуску runTests.js

в настоящее время
var testFile = [ 
'./src/components/tests/suite.js' 
]; 

// bundle tests 
var cmd = child.spawn('browserify', ['-e', './src/components/tests/suite.js', '-t', 'reactify', '-t']); 

cmd.on('close', function (code) { 
    //cmd finished start karma 
    gulp.src(testFiles) 
     .pipe(karma({ 
      configFile: 'karma.conf.js', 
      action: 'run' 
     })) 
     .on('error', function(err) { 
      throw err; 
     }); 
    }); 

моя консоль ошибок здесь:

[17:04:27] Starting 'runTests'... 
[17:04:27] Finished 'runTests' after 2.73 ms 
events.js:85 
    throw er; // Unhandled 'error' event 
     ^
Error: spawn browserify ENOENT 
at exports._errnoException (util.js:746:11) 
at Process.ChildProcess._handle.onexit (child_process.js:1053:32) 
at child_process.js:1144:20 
at process._tickCallback (node.js:355:11) 
at Function.Module.runMain (module.js:503:11) 
at startup (node.js:129:16) 
at node.js:814:3 

Process finished with exit code 1 

я могу получить основной команда для работы child = spawn("ls");

Но не команда браузера, может ли кто-нибудь помочь?

ответ

0

Вы можете использовать browserify API в задаче глобализации. Посмотрите на substack/node-browserify#1170 на несколько советов по глобализации с помощью браузера. Затем вы можете просто включить выходной файл в массив конфигурационных файлов karam.

// Disclaimer: This code is untested 
var files = require("glob").sync('./src/js/**/*.js'); 
files.push('./src/components/tests/suite.js'); 

var browserify = require("browserify")(files, {transform: 'reactify'}); 
// your can do more config on the browserify instance 

// Run browserify bundle and output to a file 
var myFile = require('fs').createWriteStream('myOutput.txt'); 
browserify.bundle().pipe(myFile); 
Смежные вопросы