Czy testy w Jasmine 2.0 działają równolegle? Z mojego doświadczenia wynika, że nie są, ale artykuł, o którym wspomina Jasmine.js: Race Conditions when using "runs", sugeruje, że Jasmine prowadzi je równolegle, więc zastanawiałem się, czy źle pisałem testy.Czy przypadki testowe w Jasmine 2.0 działają równolegle
Oto zestaw testów, które spodziewam się wykonać w ciągu 1 sekundy zamiast 4 sekund.
describe("first suite", function() {
it("first test", function(done) {
expect(true).toBeTruthy();
setTimeout(done, 1000);
});
it("second test", function(done) {
expect(true).toBeTruthy();
setTimeout(done, 1000);
});
});
describe("second suite", function() {
it("first test", function(done) {
expect(true).toBeTruthy();
setTimeout(done, 1000);
});
it("second test", function(done) {
expect(true).toBeTruthy();
setTimeout(done, 1000);
});
});
Czy brakuje mi czegoś?
Możesz przeczytać [tę dyskusję] (http://stackoverflow.com/questions/2734025/is-javascript-guaranteed-to-be-single-threaded). Właśnie uruchomiłem jsFiddle w przeglądarce Chrome i zakończyło się ono w wersji 4.012s. Może to zależeć od przeglądarki i sposobu wdrożenia JS. – zerodiff
Nie ma powodu, dla którego Jasmine nie byłaby w stanie równolegle wykonywać testów asynchronicznych i pozostała jednokrotna. Oto [fsFiddle] (http://jsfiddle.net/dspigarelliMNDNT/vr5Larxx/) o tym, jak to może wyglądać w teorii. – Spig