我有一个类,它包含了属性数组和一些功能。该类具有remove方法,用于删除特定索引的数量:
class SortedList {
constructor() {
this.list = [];
}
add(element) {
this.list.push(element);
this.sort();
}
remove(index) {
this.vrfyRange(index);
this.list.splice(index, 1);
}

我为这个类做了Mocha测试,我想在删除功能的参数为负数或大于数组大小时抛出错误。 问题是我无法收到错误消息。我尝试以下方法:
it('check for incorrect input', function () {
sorted.add(2);
sorted.add(3);
expect(sorted.remove(-1)).to.throw(Error('Index was outside the bounds of the collection.'))
});

答案 0 :(得分:0)
将期望抛出Error的函数传递给lambda,并将错误消息作为throw函数的第二个参数传递。
it('check for incorrect input', function () {
list.add(2);
list.add(3);
expect(() => list.remove(-1)).to.throw(Error, 'Index was outside the bounds of the collection.')
});