July 2018
Beginner to intermediate
458 pages
9h 58m
English
Oftentimes, we do not want our test methods to work with the actual data on a JavaScript method. Let's say we are making a third-party web service callout using jQuery Ajax. During our test runs, we do not want to be calling the actual server; instead, we just watch whether the method executes with proper arguments and returns a fake response. Spies in Jasmine allow us to watch for the methods and replace them with a spy during the test run.
A simple example of a spy function is shown in the following code snippet:
spyOn(someObj, 'func').withArgs(1, 2, 3).and.returnValue(42);someObj.func(1, 2, 3); // returns 42
In the preceding snippet, when every test calls the func function, a spy is set to watch for it, and then it returns a value ...