2013-12-12 24 views
4

使用Chai和Mocha,使用new關鍵字執行構造函數時會使用什麼語法來聲明引發錯誤?我得到一個錯誤,當我使用以下命令:使用new引發錯誤以執行構造函數

assert.throw(new SomeFunction, Error);

這將返回:

AssertionError: expected { Object() } to be a function

回答

8

傳遞一個函數來assert.throw

assert.throw(function() { 
    new SomeFunction() 
}, Error); 

的原因,你做了什麼不工作的是new SomeFunction被解釋爲new SomeFunction()並執行befor執行e assert.throw。因此,最終運行assert.throw的對象是SomeFunction的實例,而不是實例化對象的函數。

相關問題