2013-02-04 9 views
9

Chcę, aby runner zatrzymał się po pierwszym niepowodzeniu, zamiast uruchamiać wszystkie testy.Jak mogę zatrzymać plik jaśmin.js po niepowodzeniu testu?

+5

Co sprawia, że ​​"nie jest to prawdziwe pytanie"? –

+0

Jest otwarty problem na ten tutaj https://github.com/jasmine/jasmine/issues/414. Autor napisał wtyczkę https://github.com/goodeggs/jasmine-bail-fast. Niefunkcjonalne 'this.results()' nie istnieje dla mnie w moich testach jednostkowych AngularJS (prowadzonych przez karmę). –

Odpowiedz

5

To jest hack, ale możesz to zrobić, wstawiając ten skrypt przed pierwszym testem;

<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 ostatnie popełnić w czasie stosowania tego było https://github.com/pivotal/jasmine/commit/8b02bf731b193e135ccb486e99b3ecd7165bf95c

+0

'console.log (this.results_)' drukuje "undefined" –

+0

Tak, Jasmine v2 została opublikowana, ponieważ została opublikowana w 2013 roku –

+0

Może usunąć głosowanie w dół? –

0

Jest to bardzo popularna prośba cechą projektu jaśminowym: https://github.com/jasmine/jasmine/issues/414

Wygląda na to, że jest zainteresowanie jego realizacji, ale także był otwarty przez bardzo długi czas, więc kto wie, kiedy może zostać uwolniony. Alternatywnie, Mocha implementuje tę funkcję z opcją -b/- bail: https://mochajs.org/#usage. Jego api jest bardzo podobne do Jasmine, więc możesz chcieć rozważyć zmianę.

Powiązane problemy