Sto scrivendo un (sempre più grande) insieme di unit test utilizzando Coffeescript e node.js. Costruisco i file utilizzando il caffè "guardare" l'opzione (w)Come posso eseguire il test continuo di unità/unità in Coffeescript?
coffee -w -b -c -o web/ src/
mio problema è che l'esecuzione dei test di unità impiega 20 secondi (sto assumendo per la compilazione a js).
Se possibile, mi piacerebbe eseguire automaticamente i test di unità su una modifica di file (.js compilata), che eliminerebbe la lunga attesa per i risultati.
Il mio attuale Cakefile:
fs = require 'fs'
{print} = require 'sys'
{spawn, exec} = require 'child_process'
build = (watch, callback) ->
if typeof watch is 'function'
callback = watch
watch = false
options = ['-c', '-b', '-o', 'web', 'src']
options.unshift '-w' if watch
coffee = spawn 'coffee', options
coffee.stdout.on 'data', (data) -> print data.toString()
coffee.stderr.on 'data', (data) -> print data.toString()
coffee.on 'exit', (status) -> callback?() if status is 0
task 'test', 'Run the test suite', ->
build ->
require.paths.unshift __dirname + "/lib"
{reporters} = require 'nodeunit'
process.chdir __dirname
reporters.default.run ['test']
Whoa-20 secondi? Non ho mai avuto un progetto CoffeeScript che impieghi tanto tempo per essere compilato. O anche 2 secondi, del resto. Potresti provare a compilare ciascuno dei tuoi file '.coffee' e vedere quali (se ce ne sono) impiegano più di 1 per compilare? Quindi pubblica un rapporto sul [issue tracker] (https://github.com/jashkenas/coffee-script/issues). –
Probabilmente non è la compilazione - forse è il sovraccarico di node.js? Sto caricando 8 o così richiede. Il test stesso sembra essere eseguito in circa ~ 300ms. –
Vuoi dire che stai caricando 8 o più 'require's nei test? Potresti provare a cronometrare ciascuno di essi per vedere quali impiegano più di qualche millisecondo? –