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?
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Can you give an example of how to use a spy in Jest?
What are some common use cases for spies versus mocks?
How do I decide when to use a spy instead of a mock?
Awesome!
Completion rate improved to 7.14
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?
Дякуємо за ваш відгук!