2

私はJavaScriptファイルを持っています(Angularですが、それは関係ないと思います)。

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);

Jasmine を使用してテストを実行しています。おそらく、Jasmine は独自のコンソールをモック\インジェクトしますか??

更新 これは Jasmine を使用した mvn ビルドを介して実行されているため、ブラウザーはありません。

4

2 に答える 2

1

問題は、デフォルトでデフォルトに設定されているコンソールのno-op実装に、スタブエラーメソッドがないことでした。

例えば:

/**
 * Defines a console object if missing
 */
if (typeof console !== "object") {
    console = {};
    console.log = function() {};
    console.error=function() {};  // Added this to fix
}
于 2013-02-19T15:59:36.067 に答える
0
var console = (function () {
    function log(msg) {
    }
    function error(msg) {
    }
    function info(msg) {
    }
    return {
        log: log,
        error: error,
        info: info
    };
})();

このコンテンツをプロジェクトの pom.xml の「Mocks.js」に含めます (または任意の file_name を指定します)。

于 2015-06-25T06:09:55.790 に答える