Qual è il modo migliore per eseguire il reporter HTML di jasmine con codice in stile browserify? Voglio anche essere in grado di eseguire questo headless con phantomjs, quindi la necessità del reporter HTML.Come test unitario con jasmine e browserify?
risposta
Non penso che ci sia ancora un pacchetto jasmine-browserify
, e in realtà non combacia con il modo in cui Browserify/NPM fa le cose (evita le esportazioni globali).
Per ora, ho solo includono /node_modules/jasmine-reporters/ext/jasmine.js
e jasmine-html.js
in cima alla mia <head>
, e richiedono tutte le mie specifiche in un livello superiore spec_entry.js
che poi utilizzare come punto di ingresso per un bundle Browserify che ho messo subito dopo in <head>
. (Si noti che se il punto di ingresso non è di primo livello, si avrà un brutto periodo a causa di un bug di lunga durata, gnarly in Browserify).
Questo funziona bene con jasmine-node
finché non si presuppone la presenza di un numero globale document
o window
. Tuttavia, è necessario ricordare di registrare le proprie specifiche in tale spec_entry.js
, a meno che non si voglia hackerare Browserify per ottenere la ricerca delle proprie directory per i file .spec.js
.
Sarei molto interessato a una soluzione più elegante, che funzionerebbe in modo trasparente con jasmine-node e browserify.
Ho creato un progetto di esempio dettagliato che risolve il test del gelsomino (e altri) - vedere https://github.com/amitayd/grunt-browserify-jasmine-node-example. Discussione allo my blog post
L'approccio in questo aspetto è stato quello di creare un pacchetto Browserify per il codice sorgente principale (in cui sono esposti tutti i moduli) e uno per i test che si basa su esterno per il codice sorgente principale. Quindi i test possono essere eseguiti sia su PhantomJS che su un browser reale.
Se si utilizza grunt-watchify, non è necessario creare spec_entry.js. Basta usare richiedono nelle vostre specifiche, e poi raggruppare le caratteristiche del tuo con grugnito-watchify:
watchify: {
test: {
src: './spec/**/*Spec.js',
dest: 'spec/spec-bundle.js'
}
},
jasmine: {
test: {
options: {
specs: 'spec/spec-bundle.js'
}
}
},
quindi eseguire il test con
grunt.registerTask('test', ['watchify:test','jasmine:test']);
Si potrebbe anche voler guardare in Karma. È davvero semplice da configurare e controllerà le modifiche e rieseguirà il test. Dai un'occhiata a questo esempio di progetto che usa Karma per testare un progetto di tipo browserify/react. Hai solo bisogno di aggiungere alcune dipendenze e creare un file karma.conf.js.
https://github.com/TYRONEMICHAEL/react-component-boilerplate
Come tutte le risposte di cui sopra sono po 'datato (ovviamente non significa che essi non funzionano più, ecc) vorrei puntare a https://github.com/nikku/karma-browserify questo è un preprocessore per il karma corridore. Combina i file di test con tutte le dipendenze richieste. Tale bundle di browserify creato viene passato al karma che, in base alla configurazione, lo esegue. Si prega di essere consapevoli che è possibile scegliere qualsiasi moderno quadro di prova (jasmin, moka ...) e browser (phantom, chrome ..) Probabilmente questo è esattamente quello che ti serve :)
- 1. Metodo privato Test unitario con Jasmine
- 2. Test unitario con timeout
- 3. Test unitario con ServiceLocator
- 4. Karma + Browserify + Jasmine + Istanbul + Copertura di reazione
- 5. Test unitario e SAP
- 6. Test unitario con Oracle
- 7. Test unitario con Moq, Silverlight e NUnit
- 8. Accesso test unitario con passport.js e express.js
- 9. Test delle unità usando Jasmine e TypeScript
- 10. Test unitario - Come procedere?
- 11. Test unitario ... come migliorarlo
- 12. Test unitario: clone e uguaglianza
- 13. Test unitario con ingressi lunghi
- 14. Profili AutoMapper e test unitario
- 15. Test unitario con Ninject Instantiate
- 16. Symfony2: test unitario con sqlite
- 17. Test callback asincroni con Jasmine
- 18. Come avviare il test vecchio e nuovo del test unitario?
- 19. Come test unitario JSON parsing
- 20. Come test unitario Router route
- 21. Test dei moduli confezionati con browserify?
- 22. Test unitario in Ember.js
- 23. Thread di test unitario?
- 24. Oggetti wrapper test unitario?
- 25. Test unitario. Struttura file
- 26. Programmi MPI di test unitario con gtest
- 27. Test unitario: obiettivo fondamentale?
- 28. Dapper test unitario con query in linea
- 29. Test unitario su asp.net
- 30. Test unitario in C++
Ciao, molto tardi alla festa ma se è ancora utile per te, controlla la mia risposta o https://github.com/amitayd/grunt-browserify-jasmine-node-example –