将Chai与Mocha一起使用时,我会使用什么语法断言在使用new关键字执行构造函数时会抛出错误?我使用以下内容时出错:
assert.throw(new SomeFunction, Error);
返回:
AssertionError: expected { Object () } to be a function
答案 0 :(得分:9)
将函数传递给assert.throw
:
assert.throw(function () {
new SomeFunction()
}, Error);
你没有工作的原因是new SomeFunction
被解释为new SomeFunction()
并在assert.throw
执行之前执行。因此,您最终使用assert.throw
的实例运行SomeFunction
,而不是使用实例化对象的函数。