【发布时间】:2017-01-19 06:04:38
【问题描述】:
所以,我得到了这个代码:
function initial(a,b,c){
if ( isNaN(a) || isNaN(b) || isNaN(c) ){
//do something
}
else {
//do something
}
}
当使用字符串而不是数字时,我需要期待 TypeError。最初我认为分别声明对a、b 和c 的期望是可以的,如下所示:
expect(a).to.be.a('number');
expect(b).to.be.a('number');
expect(c).to.be.a('number');
我希望它实际观察函数并期望某些参数会引发错误,例如:
expect( initial('foo','foo','foo') ).to.Throw(TypeError);
但这不起作用,我已经测试了很多选项,但似乎没有一个真正给我我想要的 TypeError。有没有人知道期望某些函数参数的正确方法?
【问题讨论】:
-
使用
throw new TypeError('message'); -
@japrescott 我实际上并不是在谈论 TypeError 部分,而是如何期望某些函数参数。也许我没有正确表达自己。你知道怎么做吗?
标签: javascript node.js unit-testing mocha.js chai