Пиша прости модулни тестове със sinon.JS. Тестваният код има някаква проверка на типа, която извежда TypeError:
Tx = class Tx {
constructor(date) {
if (!(date instanceof Date)) throw new TypeError();
this.date = date;
}
}
В моя test.js използвам sinon, за да тествам дали инстанцията на Tx е неуспешна, когато аргументът не е дата:
describe('Tx', function() {
describe('#constructor', function() {
it('should fail when not passed a date as 1st param', function() {
var txSpy = sinon.spy(Tx.constructor);
try {
tx = new Tx(true);
} catch (e) {
// test success
console.log('Error: '+e)
}
}
}
}
result = txSpy.threw(new TypeError());
assert(result);
Твърдението е неуспешно, въпреки че изходът на catch е "Error: TypeError"; Същият резултат възниква при подаване на описание на низ на типа грешка (т.е. „TypeError“, съгласно API на sinon).
Някакви съвети? Благодаря предварително :)