this.firstName+this.LastName}jest.mock('../person', ()=>({getFullName:()=>"JohnSmith"> 為什麼 jest.mock 回傳具有預設屬性的模擬物件?-PHP中文網路問答
為什麼 jest.mock 回傳具有預設屬性的模擬物件?
P粉547420474
P粉547420474 2023-09-16 00:25:43
0
1
662

我試著模擬一個對象,如下所示:

export default person = { firstName: "xxx", LastName: "xxx", getFullName: () => this.firstName + this.LastName } jest.mock('../person', () => ({ getFullName: () => "John Smith" }));

所以我只想模擬 getFullName 方法,但當我執行 jest 時,我發現 person 被模擬為:

{ default: { getFullName: () => "John Smith" } ... }

我怎麼才能擺脫我只想要的「預設」屬性:

{ getFullName: () => "John Smith" }

P粉547420474
P粉547420474

全部回覆 (1)
P粉041856955

您可以將mock替換為spyOn方法。

jest.spyOn(person, 'getFullName').mockImplementation(() => "約翰史密斯");

#
    最新下載
    更多>
    網站特效
    網站源碼
    網站素材
    前端模板
    關於我們 免責聲明 Sitemap
    PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!