茉莉在Try/Catch中没有捕获错误
Jasmine not catching errors within Try/Catch
我一直在使用Jasmine框架编写一些angularjs测试。我对Jasmine网站上的文档感到困惑
如果我不包装提交正文,'toThrow'匹配器用于测试函数是否抛出异常
Jasmine将通过以下测试。保存到try/catch
it("should not save to server if user is invalid", function () {
userServiceMock.user.id = false;
expect(function () {
submissionService.save(submission);
}).toThrow();
userServiceMock.user.id = 15;
});
我不认为在没有catch子句的情况下抛出错误是好的做法。所以我一定是把这种测试写错了。希望有人能澄清一下。
我使用gruntjs和grunt-karma来运行我的测试
您将测试函数是否会抛出错误。要做到这一点,你不能设置将抛出错误的块到try catch/block中,因为即使在函数调用的函数中抛出错误,也不会在该函数中抛出错误。
jasmine所做的是捕获toThrow
匹配器中的错误,只有当匹配器中的catch
块被调用时,测试才会通过:
try {
actual();
} catch (e) {
threw = true;
thrown = e;
}
相关文章:
- JSON.parse,已经在try/catch块中,仍然抛出语法错误
- 错误处理try&catch+回调
- javascript中的Catch X-Frame-Options错误
- Promise.catch是吞咽错误
- JavaScript 中的 try-catch:如何获取原始错误的堆栈跟踪或行号
- 由 React 组件抛出的错误,被捕获在不相关的 promise 的 catch 块中
- 使用 window.onerror 和 try-catch 块处理错误之间的差异
- 延长符:catch断言错误
- Bluebird.js:重新抛出catch回调中的错误不会再次被捕获
- 带有catch的promise中的错误处理
- 如何停止javascript中嵌套try/catch错误的传播
- C中的Duktape-catch错误
- try-catch javascript语句中的未识别错误
- WebApi Catch连接超时错误
- try.catch未捕获异步/等待错误
- Javascript try-catch错误输出被截断
- 茉莉在Try/Catch中没有捕获错误
- JavaScript承诺中错误处理参数和catch的区别
- Eval抛出try/catch错误
- 在try catch语句中向finally传递错误