摩卡不会抛出错误

时间:2016-10-31 22:55:21

标签: javascript mocha

我有一个类,它包含了属性数组和一些功能。该类具有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.'))
        });



 有人可以帮我吗?

1 个答案:

答案 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.')
});