gpt4 book ai didi

javascript - Mocha/Chai : Test for exact throw error result

转载 作者:行者123 更新时间:2023-12-04 01:40:53 27 4
gpt4 key购买 nike

有一个简单的方法,它会抛出一个错误:

methods.js

insertItem = new ValidatedMethod({
name : 'article.insert.item',
validate: new SimpleSchema({
parent: { type: SimpleSchema.RegEx.Id }
value : { type: String }
}).validator(),

run({ parent, value}) {
var isDisabled = true
if (isDisabled)
throw new Meteor.Error('example-error', 'There is no reason for this error :-)')
}
})

现在我想对这个错误做一个mocha 测试。所以我想到了这个,它正在工作:

server.test.js

it('should not add item, if element is disabled', (done) => {
const value = 'just a string'

function expectedError() {
insertItem.call(
{
parent: '12345',
value
}
)
}

expect(expectedError).to.throw
done()
})

到目前为止一切正常。

问题

但我想测试确切的错误消息。

我已经试过了

expect(expectedError).to.throw(new Meteor.Error('example-error', 'There is no reason for this error :-)'))

但它给了我一个失败的测试:

Error: expected [Function: expectedError] to throw 'Error: There is no reason for this error :-) [example-error]'

最佳答案

我从 this post 找到我需要这样写:

expect(expectedError).to.throw(Meteor.Error(), 'example-error', 'This is an error');

注意错误信息在Error()之后,

关于javascript - Mocha/Chai : Test for exact throw error result,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44515923/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com