Javascript 使用node.js的断言引发测试错误
看文档时我很困惑,我们应该如何测试错误 我在index.js中有这个除法函数Javascript 使用node.js的断言引发测试错误,javascript,node.js,mocha.js,Javascript,Node.js,Mocha.js,看文档时我很困惑,我们应该如何测试错误 我在index.js中有这个除法函数 function divide(dividend, divisor) { if(divisor === 0) { throw new Error('the quotient of a number and 0 is undefined'); } else { return dividend / divisor; } } 测试应该是什么样子?我知道这将是2种情况,第
function divide(dividend, divisor) {
if(divisor === 0) {
throw new Error('the quotient of a number and 0 is undefined');
} else {
return dividend / divisor;
}
}
测试应该是什么样子?我知道这将是2种情况,第一种是测试除法,我没有问题,但我不知道如何测试错误,如果用户通过零
我正在使用mocha和assert(节点的assert)
实现代码如下所示:
divide(dividend, divisor) {
if (divisor === 0) {
throw new Error('the quotient of a number and 0 is undefined');
} else {
return dividend / divisor;
}
},
it("returns an exception when the divisor is 0", () => {
const dividend = 8;
const divisor = 0;
expected = Error;
const exercise = () => Calculate.divide(dividend, divisor);
assert.throws(exercise, expected);
})
测试代码如下所示:
divide(dividend, divisor) {
if (divisor === 0) {
throw new Error('the quotient of a number and 0 is undefined');
} else {
return dividend / divisor;
}
},
it("returns an exception when the divisor is 0", () => {
const dividend = 8;
const divisor = 0;
expected = Error;
const exercise = () => Calculate.divide(dividend, divisor);
assert.throws(exercise, expected);
})
这是根据nodejs
assert.throws
或try/catch
和assert
true/false(catch块中为true)确定的。