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
633

我试图模拟一个对象,如下所示:

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学习者快速成长!