我有这段代码
expect(function() {
//some error
}).to.throw(Error);
我如何轻松从此处开始在测试中记录错误?
我真的必须输入try / catch和console.log吗?这是不是违背了这样一个事实:我最终需要将它们移除才能通过测试?
答案 0 :(得分:0)
Chai .toThrow()
匹配器可以用于:
检查错误抛出是否属于特定实例
expect(function() {
throw SyntaxError('sample error message');
}).to.throw(SyntaxError);
检查错误消息的文本
expect(function() {
throw SyntaxError('sample error message');
}).to.throw(/sample error message/);
如果这不适合您的用例,您可以始终try/catch
并检查/对捕获的错误的对象进行断言:
try {
throw SyntaxError('sample error message');
} catch(e) {
expect(e.message).to.equal('sample error message');
}