相关疑难解决方法(0)

不要sinon.js spys捕获错误?

所以,我正在使用mocha与chai进行前端测试,但我开始整合sinon并且非常喜欢它.除了测试抛出错误并不能解决sinon文档似乎表明的问题.

基本上,我有这个方法:

create: function(bitString, collectionType) {
    var collection;

    switch(collectionType) {
        case 'minutesOfHour':
            collection = this.createMinutesOfHour(bitString);
            break;

        case 'hoursOfDay':
            collection = this.createHoursOfDay(bitString);
            break;

        case 'daysOfWeek':
            collection = this.createDaysOfWeek(bitString);
            break;

        case 'daysOfMonth':
            collection = this.createDaysOfMonth(bitString);
            break;

        case 'monthsOfYear':
            collection = this.createMonthsOfYear(bitString);
            break;

        default:
            throw new Error('unsupported collection type ' + collectionType);
    }

    return collection;
},
Run Code Online (Sandbox Code Playgroud)

我正在用这个期望来测试它:

it('throws error if missing second arguement', function() {
    sinon.spy(factory, 'create');

    factory.create();

    expect(factory.create).to.have.thrown();

    factory.create.restore();
});
Run Code Online (Sandbox Code Playgroud)

但是,我试图测试的错误似乎也停止了测试的执行

错误信息

我认为sinon.spy会在内部包含一些try/catch逻辑,spy.如果没有它,它似乎没有用.

http://sinonjs.org/docs/#spies

难道我做错了什么??

javascript unit-testing mocha.js sinon

5
推荐指数
1
解决办法
5048
查看次数

标签 统计

javascript ×1

mocha.js ×1

sinon ×1

unit-testing ×1