Estoy escribiendo un conjunto de pruebas unitarias (cada vez más grande) usando Coffeescript y node.js. Construyo los archivos utilizando el café "vigilancia" opción (-w)¿Cómo puedo hacer pruebas continuas de construcción/unidad en Coffeescript?
coffee -w -b -c -o web/ src/
Mi problema es que la ejecución de las pruebas de unidad tarda 20 segundos (estoy suponiendo para la compilación de Js).
Si es posible, me gustaría ejecutar automáticamente las pruebas unitarias en un archivo (.js compilado), lo que eliminaría la larga espera de los resultados.
Mi Cakefile actual:
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 segundos? Nunca he tenido un proyecto de CoffeeScript que tarde tanto en compilarse. O incluso 2 segundos, para el caso. ¿Podría intentar compilar cada uno de sus archivos '.coffee' y ver cuáles (si los hay) están tardando más de 1s en compilarse? A continuación, publique un informe en [rastreador de problemas] (https://github.com/jashkenas/coffee-script/issues). –
Probablemente no sea la compilación, ¿tal vez sea sobre la cabeza de node.js? Estoy cargando 8 o así lo requiere. La prueba en sí parece ejecutarse en aproximadamente ~ 300 ms. –
¿Quiere decir que está cargando aproximadamente 8 'requisitos' en las pruebas? ¿Podrías probar el tiempo de cada uno de ellos para ver cuál está tomando más de unos pocos milisegundos? –