Domanda

sto usando CoffeeScript in un'applicazione Rails, e mi piacerebbe unità di prova esso. Google non si presentò mai, non v'è alcun modo per farlo a corto di scrivere il mio ambiente di test o test delle uscite che Javascript CoffeeScript?

È stato utile?

Soluzione

È possibile utilizzare qualsiasi framework di test JavaScript con CoffeeScript. Questo proverà il JavaScript uscite CoffeeScript che è necessario in quanto CoffeeScript stessa non può essere eseguito.

Scrivere un proprio ambiente di test per CoffeeScript è divertente ( ho fatto ), ma interamente uneccessary.

UPDATE: Jasmine prove possono essere eseguito su node.js in tal caso, entrambe le prove e al codice in esame possono essere CoffeeScript, senza la necessità di qualsiasi fase di compilazione.

Altri suggerimenti

È possibile utilizzare QUnit "così come sono", ma ancora solo in scrittura coffee-script -. E senza colla codice
Ho un piccolo, puro progetto di caffè-script su github come un esempio -. rubyann

La pagina di prova HTML rubyann_tests.html , fa riferimento al file rubyann_tests.coffee quali test < a href = "https://github.com/PandaWood/jquery.rubyann/blob/master/src/jquery.rubyann.coffee" rel = "nofollow noreferrer"> jquery.rubyann.coffee . Non ho scritto alcun JavaScript o qualsiasi altro codice per fare questo lavoro.

I test eseguiti solo su Chrome sul computer locale se si utilizza l'argomento della riga di comando - permetterà-file-access-from-files . Ma funziona su Firefox e anche IE, senza problemi.

addendum - i test sono anche l'installazione per funzionare su linea di comando tramite node / Gulp / qunitjs - scaricare il repo e digitare npm run test

sto testando CoffeeScript nel mio Rails app con QUnit, e ho scritto su come sto facendo qui: http://effectif.com/coffeescript/qunit-boilerplate

La cosa più interessante a mio write-up è l'uso della richiamata per Coffee.load per garantire che i file contenenti i test vengono caricati dopo che i file che contengono il codice sotto test:

<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>

Il bisogno di accattivarsi la variabile test è spiegato in questo articolo ...

Per Caffè-Script Unità test si può provare a Bestia-Test è stato scritto da zero per caffè- script. PS: Sono il proprio, ma penso che ti piacerà comunque. E 'simile a JUnit

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top