您好,登錄后才能下訂單哦!
在 Jest 框架中,可以使用 jest.mock()
方法來設置全局 Mock。這個方法會自動模擬指定的模塊,并在測試期間替換原始實現。以下是一個簡單的示例:
myModule.js
的模塊,其中包含一個導出的函數:// myModule.js
export function myFunction() {
return 'Original implementation';
}
__tests__
目錄下創建一個名為 myModule.test.js
的測試文件。在這個文件中,使用 jest.mock()
方法來模擬 myModule
:// __tests__/myModule.test.js
import { myFunction } from '../myModule';
jest.mock('../myModule');
describe('myModule', () => {
it('should return mocked value', () => {
myFunction.mockImplementation(() => 'Mocked implementation');
const result = myFunction();
expect(result).toBe('Mocked implementation');
});
});
在這個示例中,我們使用 jest.mock()
方法來模擬 myModule
。然后,在測試用例中,我們使用 myFunction.mockImplementation()
方法來指定模擬的實現。這樣,當我們調用 myFunction()
時,它將返回 “Mocked implementation”,而不是原始實現。
需要注意的是,jest.mock()
方法應該在測試文件的頂部調用,以確保在測試之前模塊已經被模擬。此外,jest.mock()
方法會影響整個測試文件,因此在其他測試用例中,myFunction()
也將使用模擬的實現。如果需要在特定測試用例中使用原始實現,可以使用 jest.unmock()
方法或者在測試用例中使用 myFunction.mockRestore()
方法來還原模擬。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。