2015-03-01 11 views
5

Ho già provato a testare le librerie NodeJS usando Jasmine o Mocha, ma non so come testare i progetti front-end. Ho trovato tutorial online, ma tutto include un task manager nel flusso di lavoro e mi piacerebbe sapere come farlo senza uno.Come testare una libreria JavaScript front-end e integrarla con Travis?

ho trovato la seguente questione vicino a quello che mi sto chiedendo:

Using Travis-CI for client-side JavaScript libraries?

Nel mio caso, io sto usando Jasmine e hanno già istituito il gelsomino SpecRunner.html, biblioteca Jasmine e spec/mylibSpec.js. I test passano quando eseguo il SpecRunner.html sul mio browser.

Ora, come si integra questo con Travis, senza Grunt/Gulp/Brunch/ecc.?

Ho sentito le parole "PhantomJS" e "Selenium" e penso che questo abbia a che fare con ciò che sto cercando di realizzare. Esiste un progetto "ciao, mondo" con test e integrazione di Travis da cui si può imparare?

risposta

6

La Travis documentazione lists three basic ways per ottenere questo risultato:

  1. le PhantomJS del browser senza testa
  2. esecuzione Firefox con un display virtuale o
  3. utilizzando il browser del servizio Saucelabs VM

Test con PhantomJS è il più veloce, dal momento che non simula uno schermo (consente comunque di creare schermate, però). PhantomJS viene fornito con run-jasmine example. script di test

Il fantasma può quindi essere eseguito direttamente, semplicemente eseguendo

script: phantomjs run-jasmine.js 

nel vostro .travis.yml, senza il sovraccarico aggiuntivo di un sistema di compilazione, come Grunt.

Se testare il progetto richiede un vero browser GUI, che ti lascia con le opzioni 2 o 3.

Saucelabs del browser VM hanno il vantaggio di test vero e proprio cross-browser; se il tuo progetto è open source, offrono uno free plan. Forniscono anche un tutorial approfondito per il tuo caso d'uso specifico: Travis + Jasmine + Saucelabs, che tuttavia richiede Grunt per funzionare.

+0

Ci sono altri servizi oltre a Travis che potrei usare? Non posso credere che sia un tale vicolo cieco? Qual è la migliore pratica? Cosa usano le persone alla tua cia? – BubbleFever

+0

@BubbleFever Non ho capito bene - hai chiesto specificamente l'integrazione di Travis? Cosa intendi per "vicolo cieco" e "cia"? – janfoeh

+0

Giusto, ma penso che sia troppo difficile. Dovrebbe essere più semplice. – BubbleFever

Problemi correlati