为什么 jest.mock 返回具有默认属性的模拟对象?
P粉547420474
P粉547420474 2023-09-16 00:25:43
0
1
681

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

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