您好,登錄后才能下訂單哦!
spyOn
是 Jest 測(cè)試框架中的一個(gè)功能,用于監(jiān)視一個(gè)函數(shù)或方法的調(diào)用情況
以下是使用 spyOn
的一些常見用法:
const myObject = {
myMethod: () => 'original return value',
};
// 創(chuàng)建一個(gè) spy
const spy = jest.spyOn(myObject, 'myMethod');
// 調(diào)用方法
const result = myObject.myMethod();
// 檢查 spy 是否被調(diào)用
expect(spy).toHaveBeenCalled();
// 檢查返回值
expect(result).toBe('original return value');
// myModule.js
export const myFunction = () => 'original return value';
// myModule.test.js
import * as myModule from './myModule';
const spy = jest.spyOn(myModule, 'myFunction');
// 調(diào)用方法
const result = myModule.myFunction();
// 檢查 spy 是否被調(diào)用
expect(spy).toHaveBeenCalled();
// 檢查返回值
expect(result).toBe('original return value');
const myObject = {
myMethod: () => 'original return value',
};
// 創(chuàng)建一個(gè) spy,并提供一個(gè) mock 實(shí)現(xiàn)
const spy = jest.spyOn(myObject, 'myMethod').mockImplementation(() => 'mocked return value');
// 調(diào)用方法
const result = myObject.myMethod();
// 檢查 spy 是否被調(diào)用
expect(spy).toHaveBeenCalled();
// 檢查返回值
expect(result).toBe('mocked return value');
注意:在測(cè)試結(jié)束時(shí),通常需要使用 spy.mockRestore()
或 spy.mockReset()
恢復(fù)原始實(shí)現(xiàn)。這樣可以確保其他測(cè)試不會(huì)受到影響。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。