跳至內容

jest/prefer-spy-on 樣式

🛠️ 此規則提供自動修復。

此規則的作用

當透過覆寫屬性來模擬函式時,您必須在清除時手動還原原始實作。當使用 jest.spyOn() 時,Jest 會追蹤變更,並且可以使用 jest.restoreAllMocks()mockFn.mockRestore() 或在 Jest 設定中將 restoreMocks 設定為 true 來還原。

注意:jest.spyOn() 建立的模擬仍然與原始函式行為相同。原始函式可以使用 mockFn.mockImplementation() 或其他其他模擬函式覆寫。

範例

javascript
// invalid
Date.now = jest.fn();
Date.now = jest.fn(() => 10);

// valid
jest.spyOn(Date, "now");
jest.spyOn(Date, "now").mockImplementation(() => 10);

參考資料

根據 MIT 許可發布。