Karma è un test-runner JavaScript creato con Node.js e pensato per test unitari.
Il goniometro è destinato ai test end-to-end e utilizza Selenium Web Driver per condurre i test.
Entrambi sono stati realizzati dalla squadra angolare. Puoi usare qualsiasi libreria di asserzioni che desideri con entrambi.
Screencast: Karma Per iniziare
correlati :
pro :
- Utilizza node.js, quindi compatibile con Win / OS X / Linux
- Esegui test da un browser o senza testa con PhantomJS
- Esegui su più client contemporaneamente
- Opzione per avviare, acquisire e arrestare automaticamente i browser
- Opzione per eseguire server / client sul computer di sviluppo o separatamente
- Esegui test da una riga di comando (può essere integrato in ant / maven)
- Scrivi test xUnit o stile BDD
- Supporta più framework di test JavaScript
- Test di esecuzione automatica al salvataggio
- Proxy richieste tra domini
- Possibile personalizzare:
- Estenderlo per avvolgere altri framework di test (Jasmine, Mocha, QUnit integrati)
- Le tue affermazioni / confutazioni
- Reporters
- Browser Launcher
- Plugin per WebStorm
- Supportato da Netbeans IDE
Contro :
Non sono assolutamente qualificato per commentare le caratteristiche, i punti di forza e di debolezza di mocha.js, ma mi è stato consigliato da qualcuno di cui mi fido nella comunità JS.
Elenco delle funzionalità, come riportato dal suo sito Web:
- supporto del browser
- semplice supporto asincrono, comprese le promesse
- report di copertura test
- supporto per diff stringa
- API javascript # per l'esecuzione di test
- stato di uscita corretto per supporto CI ecc
- rileva automaticamente e disabilita la colorazione per i non-tty
- associa eccezioni non rilevate al caso di test corretto
- supporto del timeout del test asincrono
- timeout specifici del test
- supporto per le notifiche ringhio
- riporta la durata dei test
- evidenzia test lenti
- supporto per l'osservatore di file
- rilevamento di perdite variabili globali
- facoltativamente eseguire test che corrispondono a una regexp
- auto-uscita per evitare il "blocco" con un loop attivo
- meta-generare facilmente suite e casi di test
- Supporto per il file mocha.opts
- titoli suite selezionabili per filtrare l'esecuzione del test
- supporto del debugger del nodo
- rileva più chiamate a done ()
- utilizzare qualsiasi libreria di asserzioni desiderata
- rapporti estensibili, in bundle con oltre 9 giornalisti
- test estensibili DSL o "interfacce"
- prima, dopo, prima di ciascuno, dopo ogni gancio
- supporto transpiler arbitrario (sceneggiatura caffè ecc.)
- Bundle TextMate
Questo non esiste più, reindirizza invece a sequential.js
Yolpo è uno strumento per visualizzare l'esecuzione di javascript. Gli sviluppatori di API JavaScript sono incoraggiati a scrivere i loro casi d'uso per mostrare e dire alla loro API. Tali casi d'uso costituiscono la base dei test di regressione.
Runner futuristico con supporto integrato per ES2015. Anche se JavaScript è a thread singolo, l'IO in Node.js può avvenire in parallelo a causa della sua natura asincrona. AVA ne approfitta ed esegue i test contemporaneamente, il che è particolarmente vantaggioso per i test pesanti IO. Inoltre, i file di test vengono eseguiti in parallelo come processi separati, offrendo prestazioni ancora migliori e un ambiente isolato per ogni file di test.
- Minimo e veloce
- Sintassi del test semplice
- Esegue i test contemporaneamente
- Impone la scrittura di test atomici
- Nessun globale implicito
- Ambiente isolato per ciascun file di prova
- Scrivi i tuoi test in ES2015
- Supporto promettente
- Supporto della funzione del generatore
- Supporto della funzione asincrona
- Supporto osservabile
- Affermazioni avanzate
- TAP o utput opzionale
- Pulire le tracce dello stack
Un test-runner JavaScript creato con Node.js. Molto modulare e flessibile. Viene fornito con una propria libreria di asserzioni, ma puoi aggiungere la tua se vuoi. La libreria delle asserzioni è disaccoppiata, quindi puoi usarla anche con altri test runner. Invece di usare assert(!...)
o expect(...).not...
, usa refute(...)
quale è una bella impressione.
Un toolkit di test JavaScript del browser. Esegue i test del browser con l'automazione del browser (pensate a JsTestDriver), i test delle pagine HTML statiche in stile QUnit, i test nei browser senza testa (PhantomJS, jsdom, ...) e altro. Dai un'occhiata alla panoramica !
Un toolkit di test Node.js. Ottieni la stessa libreria di casi di test, libreria di asserzioni, ecc. Questo è ottimo anche per browser ibrido e codice Node.js. Scrivi il tuo caso di test con Buster.JS ed eseguilo sia in Node.js che in un browser reale.
Screencast: Buster.js Guida introduttiva (2:45)
pro :
- Utilizza node.js, quindi compatibile con Win / OS X / Linux
- Esegui test da un browser o senza testa con PhantomJS (presto)
- Esegui su più client contemporaneamente
- Supporta i test NodeJS
- Non è necessario eseguire server / client sul computer di sviluppo (non è necessario IE)
- Esegui test da una riga di comando (può essere integrato in ant / maven)
- Scrivi test xUnit o stile BDD
- Supporta più framework di test JavaScript
- Rinvia i test invece di commentarli
- SinonJS integrato
- Test di esecuzione automatica al salvataggio
- Proxy richieste tra domini
- Possibile personalizzare:
- Estenderlo per avvolgere altri framework di test (JsTestDriver integrato)
- Le tue affermazioni / confutazioni
- Reporter (xUnit XML, punti tradizionali, specifiche, tocco, TeamCity e altro integrato)
- Personalizza / sostituisci il codice HTML utilizzato per eseguire i test del browser
- Integrazione TextMate ed Emacs
Contro :
- Inserisci in beta in modo che possa essere buggy
- Nessun plugin per Eclipse / IntelliJ (ancora)
- Non raggruppa i risultati per os / browser / versione come TestSwarm *. Tuttavia, stampa il nome e la versione del browser nei risultati del test.
- Nessuna cronologia dei risultati dei test precedenti come TestSwarm *
- Non funziona completamente su Windows a partire da maggio 2014
* TestSwarm è anche un server di integrazione continua, mentre per Buster.js è necessario un server CI separato. Tuttavia, genera report XML xUnit, quindi dovrebbe essere facile da integrare Hudson , Bamboo o altri server CI.
https://github.com/jquery/testswarm
TestSwarm non è più ufficialmente in fase di sviluppo attivo, come indicato nella sua pagina web GitHub. Raccomandano Karma, corridore di browser o stagista.
Questo è un framework basato sul comportamento (come indicato nella citazione seguente) che potrebbe interessare gli sviluppatori che hanno familiarità con Ruby o Ruby on Rails. La sintassi si basa su RSpec che viene utilizzata per i test nei progetti Rails.
Le specifiche di Jasmine possono essere eseguite da una pagina html (in modo qUnit) o da un test runner (come Karma).
Jasmine è un framework di sviluppo basato sul comportamento per testare il tuo codice JavaScript. Non dipende da nessun altro framework JavaScript. Non richiede un DOM.
Se hai esperienza con questo framework di test, contribuisci con maggiori informazioni :)
Home del progetto: http://jasmine.github.io/
QUnit si concentra sul test di JavaScript nel browser fornendo al contempo la massima praticità allo sviluppatore. Blurb dal sito:
QUnit è una suite di test di unità JavaScript potente e facile da usare. È utilizzato dai progetti jQuery, jQuery UI e jQuery Mobile ed è in grado di testare qualsiasi codice JavaScript generico
QUnit condivide un po 'di cronologia con TestSwarm (sopra):
QUnit è stato originariamente sviluppato da John Resig come parte di jQuery. Nel 2008 ha ottenuto la propria documentazione di casa, nome e API, consentendo ad altri di utilizzarlo anche per i test delle unità. All'epoca dipendeva ancora da jQuery. Una riscrittura nel 2009 ha risolto il problema, ora QUnit è completamente autonomo. I metodi di asserzione di QUnit seguono le specifiche del test unitario CommonJS, che è stato in qualche modo influenzato da QUnit.
Home del progetto: http://qunitjs.com/
Un altro ottimo strumento è sinon.js di Christian Johansen, l'autore di Test-Driven JavaScript Development . Meglio descritto da solo:
Spie di test indipendenti, tronconi e simulazioni per JavaScript. Nessuna dipendenza funziona con qualsiasi framework di test unitari.
Il sito Web dello stagista fornisce un confronto diretto delle funzionalità con gli altri framework di test in questo elenco. Offre più funzionalità predefinite rispetto a qualsiasi altro sistema di test basato su JavaScript.
Un nuovo ma potente framework di test. Consente anche i test basati su istantanee, aumentando la velocità di test e creando una nuova dinamica in termini di test
Dai un'occhiata a uno dei loro discorsi: https://www.youtube.com/watch?v=cAKYQpTC7MA
Meglio ancora: per iniziare