Spying on Function Calls
test.js
When you want to verify that a function was called, with which arguments, or how many times, you can use a spy. Spies are especially useful when you need to monitor the behavior of existing functions without replacing their implementation. In the example above, jest.spyOn is used to track calls to the add method of the math object. This allows you to assert whether the function was called and with what arguments, while still preserving the original logic.
Spies are different from mocks in a key way: a spy wraps around an existing function and observes its usage, but by default, it does not change the function's behavior. In contrast, a mock replaces the original implementation with a custom one, often returning fixed values or tracking calls without running real code. Use a spy when you want to keep the original logic intact but need to verify how it is used. Use a mock when you want to isolate the code under test and control its dependencies' behavior.
1. What is the main difference between a mock and a spy in Jest?
2. Which Jest method allows you to monitor calls to an existing function?
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Awesome!
Completion rate improved to 7.14
Spying on Function Calls
Swipe um das Menü anzuzeigen
test.js
When you want to verify that a function was called, with which arguments, or how many times, you can use a spy. Spies are especially useful when you need to monitor the behavior of existing functions without replacing their implementation. In the example above, jest.spyOn is used to track calls to the add method of the math object. This allows you to assert whether the function was called and with what arguments, while still preserving the original logic.
Spies are different from mocks in a key way: a spy wraps around an existing function and observes its usage, but by default, it does not change the function's behavior. In contrast, a mock replaces the original implementation with a custom one, often returning fixed values or tracking calls without running real code. Use a spy when you want to keep the original logic intact but need to verify how it is used. Use a mock when you want to isolate the code under test and control its dependencies' behavior.
1. What is the main difference between a mock and a spy in Jest?
2. Which Jest method allows you to monitor calls to an existing function?
Danke für Ihr Feedback!