'How to spyOn a global function and return a value in Jasmine
How can I spy on MyFunction
and return 2
in Jasmine 2.0?
I have the following code that errors on the first line inside shouldPass
with:
Error: function MyFunction(){ return 1; }() method does not exist
It appears to be using the entire function as the function name
MyFile.js:
MyFunctionToTest = function(){
return MyFunction() + 1;
}
function MyFunction(){ return 1; }
MyFileSpec.js:
describe("myTest", function(){
it("shouldPass", function(){
spyOn("MyFile", MyFunction).and.returnValue(2);
expect(MyFunctionToTest()).toEqual(3)
})
})
Solution 1:[1]
You are trying to spy on an anonymous/global function. You can probably just redefine it with a spy.
MyFunction = jasmine.createSpy().and.returnValue(2);
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | Seth Flowers |