Sto usando CoffeeScript in un'applicazione Rails e vorrei testarlo unitamente. Google non ha mostrato nulla, c'è un modo per farlo a meno di scrivere il mio framework di test o testare il codice JavaScript che viene emesso da CoffeeScript?Test dell'unità CoffeeScript?
risposta
È possibile utilizzare qualsiasi framework di test javascript con CoffeeScript. Questo testerà i Javascript che CoffeeScript emette, che è necessario dal momento che CoffeeScript non può essere eseguito.
Scrivere il proprio framework di test per CoffeeScript è divertente (I did) ma completamente inutile.
AGGIORNAMENTO: Jasmine test possono essere run on node.js nel qual caso sia i test che il codice in prova possono essere CoffeeScript, senza la necessità di alcuna fase di compilazione.
È possibile utilizzare QUnit così com'è, ma scrivere solo caffè-script e nessun codice di colla.
Ho un piccolo, puro progetto di script per il caffè su github come esempio - rubyann.
La pagina di test HTML rubyann_tests.html fa riferimento al file rubyann_tests.coffee che esegue il test jquery.rubyann.coffee. Non ho scritto alcun javascript o altro codice per farlo funzionare.
I test vengono eseguiti su Chrome sul computer locale solo se si utilizza l'argomento della riga di comando --allow-file-access-from-files. Funziona su Firefox e persino IE senza problemi.
Grazie, ho imparato a conoscere tag di testo/coffeescript! –
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 al caffè .load per garantire che i file contenenti i test vengono caricati dopo che i file che contengono il codice in prova:
<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 puoi provare Beast-Test è stato scritto da zero per coffee-script. FYI sono il proprietario, ma penso che ti piacerà comunque. È simile a JUnit
Grazie per la risposta. Ho deciso di andare con QUnit per ora. Ho dovuto scrivere un po 'di codice per incollare la mia pagina di test, ma va bene. –
C'è anche una specifica per il caffè che è specifica per CoffeeScript. Penso che la maggior parte delle persone (incluso me stesso) utilizzi solo framework di test delle unità JavaScript come hai fatto tu. (Uso Jasmine.) –
RJHunter
Ho trovato questa pagina in cui si dice che puoi scrivere gelsomino come coffeescript e funzionerà http://coffeescript-cookbook.github.io/chapters/testing/testing_with_jasmine. Sai se funzionerà solo coffeescript (e Nodeunit) o se è possibile scrivere qualsiasi framework di test come codice coffeescript? –