2013-02-19 24 views
2

我有一個JavaScript文件(Angular,但我不認爲這與它有關)。console.error拋出異常

console.log工作正常,但console.error拋出* TypeError: Cannot find function error in object [object Object].

console.log('An error occurred while searching. Status code was ' + status); 
console.error('An error occurred while searching. Status code was ' + status); 

我用茉莉花運行測試,也許茉莉花嘲笑\注入它自己的控制檯?

UPDATE 這是通過mvn構建與Jasmine運行,所以沒有瀏覽器。

+0

哪種瀏覽器? – 2013-02-19 15:41:13

+0

可以直接在console中輸入console.log和console.browser,看看它們是否返回它們的功能代碼 - 這在Safari中很容易實現。 – 2013-02-19 15:42:26

+2

你的mvn用Jasmine構建的顯然不具有'console.error'功能,所以它可能不被支持。 – adeneo 2013-02-19 15:48:23

回答

1

問題是,我們默認的控制檯no-op實現沒有stubbed錯誤方法。

e.g:

/** 
* Defines a console object if missing 
*/ 
if (typeof console !== "object") { 
    console = {}; 
    console.log = function() {}; 
    console.error=function() {}; // Added this to fix 
} 
0
var console = (function() { 
    function log(msg) { 
    } 
    function error(msg) { 
    } 
    function info(msg) { 
    } 
    return { 
     log: log, 
     error: error, 
     info: info 
    }; 
})(); 

納入 「Mocks.js」 這一內容(或給予任何FILE_NAME)在你的項目的pom.xml