私はjasmine-nodeを使用してjavascriptコードの単体テストを行っています。スパイオンして、元の実装への呼び出しを許可したいグローバル関数がいくつかあります。例として、以下のコードを参照してください。
説明できない理由で、「globalFunction()メソッドが存在しません」というエラーが表示されます。
ジャスミンがグローバルスコープにあると私が理解しているこのglobalFunctionメソッドを見つけられない理由を誰かに教えてもらえますか?
私は助けに感謝します
var globalFunction = function() {
console.log('globalFunction');
};
describe("A Global Function", function() {
jasmine.getEnv().addReporter(new jasmine.ConsoleReporter(console.log));
it("may be spied upon", function() {
spyOn(global,'globalFunction').andCallThrough();
globalFunction();
expect(globalFunction).toHaveBeenCalled();
});
});
これがジャスミンノードの出力です
$ jasmine-node --verbose test.spec.js
Runner Started.
A Global Function : may be spied upon ...
Failed.
A Global Function: 0 of 1 passed.
A Global Function
may be spied upon
Failures:
1) may be spied upon
Message:
globalFunction() method does not exist
Stacktrace:
undefined
Finished in 0.008 seconds
1 test, 1 assertion, 1 failure
Runner Finished.
1 spec, 1 failure in 0.008s.