要在Jest中对
Array.prototype.push
函数
进行spy,可以使用
jest.spyOn
方法来创建一个spy,并将其作为第一个参数传递给
jest.spyOn
函数
。然后,可以使用
mock.calls
属性来检查spy是否被
调用
,并使用
mock.results
属性来获取每次
调用
的结果。
下面是一个示例代码,演示了如何在Jest中对
Array.prototype.push
函数
进行spy:
// 示例代码
const myArray = [];
const spy = jest.spyOn(myArray, 'push');
myArray.push(1);
myArray.push(2);
myArray.push(3);
console.log(spy.mock.calls); // 输出 [[1], [2], [3]]
console.log(spy.mock.results); // 输出 [{ type: 'return', value: 1 }, { type: 'return', value: 2 }, { type: 'return', value: 3 }]
// 恢复原始的Array.prototype.push函数
spy.mockRestore();
在上面的示例中,我们首先创建了一个空数组myArray
,然后使用jest.spyOn
方法来创建一个spy,将其作为第一个参数传递给jest.spyOn
函数。接下来,我们调用myArray.push
三次,并使用console.log
来输出spy的mock.calls
和mock.results
属性。最后,我们使用spy.mockRestore()
方法恢复原始的Array.prototype.push
函数。
请注意,这里的示例只是演示了如何在Jest中对Array.prototype.push
函数进行spy。实际使用中,您可能需要根据自己的需求来适应和扩展这个示例。