Voglio che il corridore si fermi dopo il primo errore invece di eseguire tutti i test.Come posso far arrestare jasmine.js dopo un errore di test?
risposta
È un trucco, ma è possibile farlo inserendo questo script prima del primo test;
<script type="text/javascript">
// after every test has run
afterEach(function() {
// check if any have failed
if(this.results_.failedCount > 0) {
// if so, change the function which should move to the next test
jasmine.Queue.prototype.next_ = function() {
// to instead skip to the end
this.onComplete();
}
}
});
</script>
Jasmine di ultima commit al momento di applicare questo era https://github.com/pivotal/jasmine/commit/8b02bf731b193e135ccb486e99b3ecd7165bf95c
'console.log (this.results_)' stampa "indefinito" –
Sì, Jasmine v2 è uscito da quando è stato pubblicato nel 2013 –
Forse rimuovere il voto negativo? –
Questa è una richiesta di funzionalità molto popolare per il progetto di gelsomino: https://github.com/jasmine/jasmine/issues/414
Sembra che ci sia interesse per la sua attuazione, ma è stato aperto anche per un tempo molto lungo, quindi chissà quando potrebbe essere rilasciato. In alternativa, Mocha implementa questa funzionalità con l'opzione -b/- bail: https://mochajs.org/#usage. La sua api è molto simile a quella di Jasmine, quindi potresti prendere in considerazione l'idea di fare il passaggio.
Cosa rende questa "non una domanda reale"? –
C'è un problema aperto per questo qui https://github.com/jasmine/jasmine/issues/414. L'autore ha scritto un plugin https://github.com/goodeggs/jasmine-bail-fast. In modo imprevisto 'this.results()' non esiste per me nei miei test di unità AngularJS (eseguiti da karma). –