2012-08-31 10 views
20

Sto assemblando un ambiente jsTestDriver/Jasmine per testare il nostro frontend code e sto vedendo molti riferimenti a Sinon.js per spie indipendenti (o drop in). Qualcuno potrebbe descrivere cosa offre Sinon.js al tavolo che Jasmine non ha per testare l'interfaccia utente?Qual è il vantaggio di utilizzare Sinon.js su Spys di Jasmine?

+4

Non vedo perché questo dovrebbe essere chiuso come non costruttivo. Sto usando il gelsomino pesantemente da più di un anno e continuo a chiedermi perché le persone aggiungano sinon.js. Inclinato per dire che non c'è nulla che sinon aggiunge che non esiste già ma che piacerebbe sentire da un utente di sinon.js. – ggozad

+0

Il problema con la domanda è che non ci sarà una risposta specifica. Potresti pensare che non sia necessario per sinon.js altro potrebbe pensare che sia la cosa migliore dopo il pane a fette. Una cosa che una caratteristica è un vantaggio, un'altra potrebbe pensare che sia stata progettata. Quindi quale sarà la risposta giusta a questa domanda. –

+4

La risposta corretta alla domanda sarebbe le differenze di filosofia e/o implementazione con enfasi su come questo influisce sulla verifica dell'interfaccia utente. Un po 'di spazio per la soggettività, ma non molto. –

risposta

5

* Inserendolo come risposta, poiché questo non rientrava nella sezione Commenti! *

FWIW, Abbiamo usato SinonJS per creare un componente server FakeHTTP (LinearEPG) per implementare le API REST del real-server che ospita le informazioni EPG (Linear TV Program Schedule).

Poi, abbiamo utilizzato questo server FakeHTTP-LinearEPG in due modalità:

  1. usate con il Web-App visualizzazione EPG per testare la navigazione, ecc
  2. prova il JavaScript codice che recupera l'EPG lungo con le specifiche UT Jasmine.

Certo, avremmo potuto implementare la funzionalità FakeServer usando Jasmine-Spies, ma sembrava un po 'contorto. D'altra parte, FakeServer ha fornito un modo elegante e veloce per emulare il server che fornisce le interfacce REST.

FakeServer basato su SinonJS si è rivelato molto utile quando il server era ancora in fase di sviluppo in quel momento!