Pregunta

Estoy usando CoffeeScript en una aplicación Rails, y me gustaría que la unidad de prueba. Google no se presentó nada, ¿hay alguna manera de hacerlo corto de escribir mi propio marco o para el ensayo de JavaScript que las salidas CoffeeScript?

¿Fue útil?

Solución

Se puede usar cualquier framework de pruebas con Javascript CoffeeScript. Esto pondrá a prueba las salidas de JavaScript que CoffeeScript que es necesario ya que CoffeeScript en sí no puede ser ejecutada.

Escribir su propio marco de pruebas para CoffeeScript es divertido ( hice ), pero enteramente uneccessary.

UPDATE: Jasmine pruebas puede ser ejecutar en node.js en cuyo caso tanto de los ensayos y el código bajo prueba pueden ser CoffeeScript, sin la necesidad de ningún paso de compilación.

Otros consejos

Puede utilizar QUnit "tal cual", pero todavía sólo escritura coffeescript -. Y sin cola de código
Tengo un proyecto coffeescript muy pequeño, puro en github como un ejemplo -. rubyann

La página de prueba HTML rubyann_tests.html , hace referencia al archivo rubyann_tests.coffee qué pruebas < a href = "https://github.com/PandaWood/jquery.rubyann/blob/master/src/jquery.rubyann.coffee" rel = "nofollow noreferrer"> jquery.rubyann.coffee . No escribí ninguna JavaScript o cualquier otro código para hacer este trabajo.

Las pruebas sólo se ejecutan en Chrome en el equipo local si se utiliza el argumento de línea de comandos - permitir-file-access-from-archivos . Pero funciona en Firefox e incluso IE sin problemas.

adenda - las pruebas son también configurar para ejecutarse en la línea de comandos a través del nodo / trago / qunitjs - descarga el repositorio y escriba npm run test

Estoy probando CoffeeScript en mi aplicación Rails con QUnit, y he escrito hasta la forma en que lo 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 a Coffee.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 ...

Para coffeescript unidad de prueba puede probar bestia-Test que fue escrito desde cero para café- guión. FYI soy la propia, pero creo que le va a gustar, no obstante. Es similar a JUnit

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top