4
使用Chai和Mocha,使用new關鍵字執行構造函數時會使用什麼語法來聲明引發錯誤?我得到一個錯誤,當我使用以下命令:使用new引發錯誤以執行構造函數
assert.throw(new SomeFunction, Error);
這將返回:
AssertionError: expected { Object() } to be a function
使用Chai和Mocha,使用new關鍵字執行構造函數時會使用什麼語法來聲明引發錯誤?我得到一個錯誤,當我使用以下命令:使用new引發錯誤以執行構造函數
assert.throw(new SomeFunction, Error);
這將返回:
AssertionError: expected { Object() } to be a function
傳遞一個函數來assert.throw
:
assert.throw(function() {
new SomeFunction()
}, Error);
的原因,你做了什麼不工作的是new SomeFunction
被解釋爲new SomeFunction()
並執行befor執行e assert.throw
。因此,最終運行assert.throw
的對象是SomeFunction
的實例,而不是實例化對象的函數。