js单元测试,使用断言捕获抛出的异常
关键字
mocha, chai, js, node.js
失败情况
如果直接使用expect(abc.function(param1, param2)).to.throw()
是无法测试抛出的异常的,因为传入的是function()
返回的值。
怎么解决
想要用 expect
断言测试抛出的异常,必须让expect自己调用这个函数,方法是bind()
。
上面的断言应该改成 expect(abc.function.bind(abc, param1, param2)).to.throw()
。
参考
https://stackoverflow.com/questions/21587122/mocha-chai-expect-to-throw-not-catching-thrown-errors