2010-06-28 15 views
32

Estoy usando CoffeeScript en una aplicación Rails, y me gustaría probarlo en una unidad. Google no presentó nada, ¿hay alguna manera de hacerlo sin escribir mi propio marco de prueba o probar el JavaScript que produce CoffeeScript?Pruebas de unidad CoffeeScript?

Respuesta

23

Puede utilizar cualquier marco de prueba de javascript con CoffeeScript. Esto probará el Javascript que CoffeeScript genera, ya que CoffeeScript no puede ejecutarse.

Escribir su propio marco de prueba para CoffeeScript es divertido (I did) pero completamente innecesario.

ACTUALIZACIÓN: Jasmine las pruebas pueden ser run on node.js en cuyo caso tanto las pruebas como el código bajo prueba pueden ser CoffeeScript, sin la necesidad de ningún paso de compilación.

+1

Gracias por la respuesta. Decidí ir con QUnit por ahora. Tuve que escribir un poco de código de pegamento para hacer funcionar mi página de prueba, pero está bien. –

+1

También hay una Coffee-Spec que es específicamente para CoffeeScript. Creo que la mayoría de la gente (incluyéndome a mí) simplemente usa frameworks de prueba de unidades JavaScript como lo ha hecho. (Yo uso Jasmine.) – RJHunter

+0

He encontrado esta página donde dice que puedes escribir jazmín como coffeescript y funcionará http://coffeescript-cookbook.github.io/chapters/testing/testing_with_jasmine. ¿Sabes si funcionará coffeescript (y Nodeunit) o ​​si es posible escribir un marco de prueba como código de coffeescript? –

9

Puede usar QUnit como está, pero solo escriba coffee-script, y no encolar.
Tengo un proyecto de script de café muy pequeño y puro en github como ejemplo: rubyann.

La página de prueba HTML rubyann_tests.html, hace referencia al archivo rubyann_tests.coffee que prueba jquery.rubyann.coffee. No escribí ningún javascript ni ningún otro código para que esto funcione.

Las pruebas solo se ejecutan en Chrome en su máquina local si utiliza el argumento de línea de comandos --allow-file-access-from-files. Pero funciona en Firefox e incluso en IE sin problemas.

+0

¡Gracias, aprendí sobre las etiquetas text/coffeescript! –

1

Estoy probando CoffeeScript en mi aplicación Rails con QUnit, y he escrito hasta qué estoy haciendo aquí: http://effectif.com/coffeescript/qunit-boilerplate

Lo más interesante en mi artículo es el uso de la devolución de llamada de café .load para garantizar que los archivos que contienen las pruebas se cargan después de los archivos que contienen el código bajo prueba:

<script type="text/coffeescript"> 
    for file in ['models', 'controllers']            
    lib = "../../app/assets/javascripts/#{file}.js.coffee"       
    load_test = ->                 
     test = "#{file}_test.coffee"             
     -> CoffeeScript.load(test)              
    CoffeeScript.load lib, load_test() 
</script> 

la necesidad de ganarse la variable test se explica en el artículo ...

0

para coffeescript Unidad probando puedes probar Beast-Test fue escrito desde cero para coffee-script. Para tu información, soy el único, pero creo que te gustará, no obstante. Es similar a JUnit

Cuestiones relacionadas