1// jest.spyOn(object, methodName)
2const spy = jest.spyOn(video, 'play');
3
4// jest.spyOn(object, methodName, accessType?)
5const spy = jest.spyOn(video, 'play', 'get'); // we pass 'get'
1//class.js
2class MyClass {
3 methodOne() {
4 return 1;
5 }
6 methodTwo() {
7 return 2;
8 }
9}
10module.exports = MyClass;
11
12// class.test.js
13test('spy using class method', () => {
14 const result = new MyClass()
15 const spy = jest.spyOn(result, 'methodOne')
16 result.methodOne()
17
18 // check class method is call or not
19 expect(spy).toHaveBeenCalled()
20
21 // expect old value
22 expect(result.methodOne()).toBe(1)
23
24 // expect new value
25 spy.mockReturnValueOnce(12)
26 expect(result.methodOne()).toBe(12)
27})