Sono nuovo di Qunit e test di unità.Asserire che una funzione genera eccezioni con Qunit
Sto cercando di capire cosa e come testare la seguente funzione. Essa non fa molto al momento, ma ho voluto affermare che se lo passo valori errati che gli errori vengono gettati:
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')}
};
Come posso fare per affermare che un errore verrà generata se una delle seguenti condizioni non sono soddisfatti?
Ho provato a guardare l'asserzione dei "rilanci" di Qunit, ma penso di non fraintenderlo. La mia interpretazione sarebbe che il test passi se viene generato un errore.
Quindi, se ho provato qualcosa di simile:
test("a test", function() {
raises(function() {
throw attrToggle([], []);
}, attrToggle, "must throw error to pass");
});
Il test deve passare perché gli errori sono gettati.