使用should.js和Mocha检查抛出新错误
Checking for a throw new Error with should.js and Mocha
我抛出了一个错误,如下所示:
if (somethingBadHappened) {
throw new Error('what were you thinking, batman?')
}
现在我想写一个测试来检查这是否在预期的时候抛出:
should(MyClass.methodThatShouldThrow()).throws('what were you thinking, batman?')
但这实际上造成了错误。我做错了什么?js的文档应该很轻,因为它继承了assert.throws
,但即使是它的文档也不能以"Should.js"的方式工作吗?
正如您所发现的,您的代码执行的函数会抛出错误&should
没有机会抓住它。
为了允许正确的断言,您需要将函数调用包装在一个匿名函数中。
should(function () {MyClass.methodThatShouldThrow();} ).throw('what were you thinking, batman?')
相关文章:
- Meteor.js Cordova错误:错误白名单拒绝
- .bind('all', 'update')上的主干怪异类型错误错误
- 错误:错误:语法错误,无法识别的表达式:
- Jqx图表给出错误错误:
属性高度=“-1”的负值无效 - WebGL错误-错误:WebGL:bindBuffer:buffer已包含元素数据
- 修复了在 PhoneGap 中使用 jQuery Mobile 的 jQuery 验证中导致错误错误的延迟回调
- AngularJS 1.3 - 错误:错误:modulerr 模块错误(使用 ng-view,$routeProvide
- AngularJS - 处理错误错误:[ng:areq] 在此特殊情况下 (?)
- 路由错误:错误:发送标头后无法设置标头
- 为什么我收到错误“错误未定义'http..'不是一个函数”
- 节点 js 与 gmail api,API 返回错误:错误:unauthorized_client
- 鼓励JavaScript应用程序的错误/错误报告的最佳实践
- 如何修复错误;“错误:引导工具提示需要系绳 (http://github.hubspot.com/tether/)”
- Spring AngularJS上传文件功能-400错误错误请求错误
- 谷歌地图嵌入api错误错误:[$interpole:nooncat]插值时出错
- AJAX调用错误:错误:NetworkError:DOM异常19
- [JHipster新模块][错误]需要.yo-rc.JHipster生成的配置文件
- 如何在新的错误对象Javascript的消息中放置换行符
- Trello API发布新卡错误-无法执行'postMessage'在'DOMWindows
- 传单路由控制新路由错误