Jestem nowy w Qunit i testowaniu jednostkowym.Potwierdzanie, że funkcja zgłasza wyjątki z Qunitem
Próbuję dowiedzieć się, co i jak przetestować następującą funkcję. To nie robi wiele w tej chwili, ale chciałem aby twierdzić, że gdybym go przekazywać nieprawidłowe wartości, że błędy są wyrzucane:
function attrToggle (panel, attr) {
'use strict';
if (!panel) { throw new Error('Panel is not defined'); }
if (!attr) { throw new Error('Attr is not defined'); }
if (typeof panel !== 'string') { throw new Error('Panel is not a string'); }
if (typeof attr !== 'string') { throw new Error('Attr is not a string'); }
if (arguments.length !== 2) { throw new Error('There should be only two arguments passed to this function')}
};
Jak mogę iść o twierdząc, że błąd zostanie wyrzucony jeśli którykolwiek z tych warunków nie są spełnione?
Próbowałem spojrzeć na stwierdzenie Qunit o "podwyżkach", ale uważam, że to nieporozumienie. Moja interpretacja będzie taka, że test przejdzie, jeśli zostanie zgłoszony błąd.
Więc jeśli ja testowałem coś takiego:
test("a test", function() {
raises(function() {
throw attrToggle([], []);
}, attrToggle, "must throw error to pass");
});
Test powinien przekazać ponieważ błędy są wyrzucane.