2
我正在使用jasmine-node对javascript代码进行单元测试。我有一些全球功能,我想间谍,并允许通话,但尽管如此,原来的实施。以下面的代码为例。使用jasmine-node监听全局函数
由于我无法解释的原因,我看到一个错误“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.
嗨,谢谢,这解释了为什么不能引用该函数。如何引用该模块的本地范围? – punkle
就我所知,本地模块范围没有特别的参考。 –
请注意,这不适用于严格模式。 – Randy