Niedawno zacząłem używać QUnit do testowania mojego kodu JavaScript i jestem nieco zdezorientowany przez funkcję w dokumentacji: expect()
.Dlaczego kiedykolwiek używać oczekiwać() podczas pisania testów z QUnit?
Zgodnie z docs, expect()
przeznaczony jest do:
[s] pecify ile twierdzenia Oczekuje się, że do uruchomienia w ramach testu.
A oto przykład dają:
test("a test", function() {
expect(2);
function calc(x, operation) {
return operation(x);
}
var result = calc(2, function(x) {
ok(true, "calc() calls operation function");
return x * x;
});
equal(result, 4, "2 square equals 4");
});
Jedyne co widzę tutaj to koszmar utrzymanie. Za każdym razem, gdy dodajesz asercję do testu, musisz zaktualizować ten numer lub test się nie powiedzie. Czy istnieje praktyczna aplikacja dla tego rodzaju funkcji?
Pełna domena od kogoś, kto zna robaka o QUnit: Może być używany jako ochrona przed nieskończonymi pętlami. Wydaje się narzucać maksymalny limit, a nie minimum, więc możesz użyć 'expect (100)' (lub podobnego) i powinno być w porządku. –
To jest złe, nie jest ani minimalne ani maksymalne, określa dokładną ilość asercji, których się spodziewasz. Jeśli liczba jest niższa lub wyższa od wykluczenia, test zakończy się niepowodzeniem. – Odi