Che cos'è un elenco di criteri per la scelta di un framework di test?
1) Sintassi
Mentre indaga su diversi framework di test, noterai che la sintassi è un fattore di differenziazione tra tutti loro. Questo dipenderà davvero da cosa ti fa sentire a tuo agio.
Ad esempio, qUnit è più di un framework di test dichiarativo. La sua API consiste in funzioni chiamate test, equals, strictEqual, deepEqual, ecc.
Un'altra struttura di test, mocha , è più simile a rspec in quanto legge in una struttura più simile a una frase. La sua API è costituita da funzioni chiamate descrip, it, assert.equal, ecc.
La mia preferenza personale è una struttura simile a qunit.
2) Funzionalità - Stub, Spie, server falso, orologio falso, ecc
Quando inizi a testare in Javascript ti troverai rapidamente in situazioni in cui hai bisogno del tuo framework di test per aiutarti a testare determinati casi d'uso. Ad esempio:
Spie: questo ti aiuterà a scoprire se il tuo codice ha chiamato una funzione quando dovrebbe avere
Stub - Molto simile a una spia tranne che contiene un comportamento predefinito (Esempio: quando viene chiamato lo stub, return foo)
Fake Server - Se il tuo codice emette chiamate AJAX e vuoi falsificare la risposta della chiamata AJAX, un server falso ti aiuterà a testare più facilmente.
Fake Clock - Se il tuo codice reagisce in modo diverso in base alla data o all'ora, un falso orologio ti aiuterà a controllare esattamente a che ora è mentre il test è in esecuzione.
La mia raccomandazione per un framework Javascript che supporta tutte le funzionalità di cui sopra è Sinon.JS . Perché mi piace una qunit come sintassi e framework, io uso qunit AND Sinon.JS. qunit gestisce le mie asserzioni e esegue i miei test. Sinon.JS mi dà la possibilità di mozzare, spiare, eseguire un server falso e falsificare l'orologio.
3) Supporto della community
Il tuo framework di test è supportato dalla community? Ad esempio, grunt (uno strumento dell'ambiente di costruzione) supporta l'esecuzione di qunit in un server PhantomJS senza testa: link . In questo modo è facile scrivere test e farli automaticamente eseguire ogni volta che salvi il file di test.
È pratico provarli tutti?
No, non è pratico. Cerca invece il sito web di ciascun framework e sceglierne uno con cui ti trovi a tuo agio e uno che ti supporterà anche durante i test di scrittura.
Trascorri molto tempo a leggere i forum / etc su come vengono utilizzati?
Prendi un libro sulla struttura che hai scelto e sfogliatelo mentre ne hai bisogno.