如何在JavaScript中使用Mocha和assert.throws测试参数的值
How to test the value of an argument using Mocha and assert.throws in JavaScript?
我想看看一个等于"x"的值是否会导致我的函数抛出异常。我有一个单元测试,它检查一个块是否会引发异常,但我希望只有当参数="x"时才引发异常,而不是如果它只是空的。如何使用assert来完成此操作?
这里有一些代码来说明我的意思:
// Some function to check if a color is not transparent.
function checkColor(color) {
if (color == 'transparent') {
throw new TypeError('cant have transparent colors!');
} else {
return color;
}
}
以下是断言:
assert.throws(checkColor, /cant have transparent colors!/);
现在,我知道断言将失败,因为我的函数只有在color='transparent'的情况下才会抛出异常。使用Mocha和Assert,如何根据需要测试断言?我不想只测试颜色未定义或属于某种类型。我特别想看看是否在上述特定情况下引发了异常——这是我唯一希望引发异常的情况(因为颜色为空,实际上在其他地方处理)。
assert.throw(function() { iThrowError(argument) }, Error)
现在只需确保argument=x;
相关文章:
- console.assert失败时中断chrome调试器
- 如何在JavaScript中使用Mocha和assert.throws测试参数的值
- Node.js assert.deep等于2个值
- 使用自定义断言帮助程序对cli扩展assert进行ember-cli扩展
- AngularJs$watch throws无法读取属性'replaceChild'为null
- Snap.svg and javascript throws Uncaught SyntaxError
- Node.js assert.throws with async functions (Promises)
- node.js http.get() throws: events.js:72 ECONNREFUSED
- assert.throws on asynchronous method
- Nitghwatch.js -- assert.hidden 在页面的一部分上
- 带有nodejs的mocha为assert(false)而不是error断言挂起/超时
- React Native Post Request via Fetch throws Network Request F
- 浏览器中的Mocha:如何使用chai.assert获取报告
- 一个不需要输入错误消息的assert函数
- 在node.js中启用/禁用assert语句的简单方法
- Initializing Select2 throws define is not defined error
- 为什么Node.js Assert没有notOk()方法?
- OpenLayers map.events.register throws TypeError
- assert failed: InvalidValueError: setContent:不是字符串
- Toastr throws TypeError for toastr.info('msg')