Ich bin vertraut mit Python-Unittest-Tests, wo, wenn eine Assertion fehlschlägt, dieser Test als "fehlgeschlagen" markiert ist und es zu anderen Tests weitergeht. Jasmine wird auf der anderen Seite alle Erwartungen fortsetzen, selbst wenn einer von ihnen versagt. Wie kann ich Jasmine die Verarbeitung eines Tests stoppen lassen, nachdem die erste Erwartung fehlgeschlagen ist?Stoppen Jasmin-Test nach ersten erwartet fehlschlägt
it ("shouldn't need to test other expects if the first fails", function() {
expect(array.length).toBe(1);
// don't need to check this if the first failed.
expect(array[0]).toBe("foo");
});
Ich denke darüber falsch? Ich habe einige Tests mit vielen expect
und es scheint wie eine Verschwendung, alle Stack-Spuren zu zeigen, wenn nur der erste wirklich falsch ist.
Wenn Sie pro Test so viel angeben, testet Ihr Code jedes Mal zu viel. Es mag einfacher sein, auf diese Weise zu entwickeln, aber es ist viel schwieriger zu wissen, wo das Problem liegt, wenn die Tests in der Zukunft fehlschlagen (auch, ist es der Punkt der Tests, nein?) Um dem zukünftigen Entwickler zu sagen, er erstellt ein Käfer). Ich finde es nützlich, dass Jasmine nicht auf die erste wartet, es zeigt, dass alles schief gelaufen ist, anstatt was zuerst schief gelaufen ist. Wie auch immer, wie für die Frage an sich, ich habe ein bisschen geschaut und habe nichts gefunden, um es nach dem ersten Scheitern aufzugeben. – acdcjunior