为什么 jest.mock 返回具有默认属性的模拟对象?
P粉547420474
P粉547420474 2023-09-16 00:25:43
[JavaScript讨论组]

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

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(() => "约翰·史密斯");

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号