首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jest.createMockFromModule对jest.mock

jest.createMockFromModule对jest.mock
EN

Stack Overflow用户
提问于 2022-03-28 17:07:49
回答 1查看 740关注 0票数 2

我在用玩笑学习单元测试。我不明白jest.createMockFromModule和jest.mock之间的区别。似乎他们也是这样做的?谁能给我解释一下区别吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-14 21:36:05

jest.mock -做模块自动模拟,并隐式替换测试文件中导入的模块.如果通过第二个参数提供fabric函数,它将定义模块实现如下:

代码语言:javascript
复制
jest.mock('./moduleName', () => ({
    default: 12345 // default constant definition
    MyClass: { // Named export object or class definition
        get: () => { /* get method class definition */ }
    }
    /* etc... */
}))

您还可以导入模块的只覆盖部分

jest.createMockFromModule -生成自动模拟模块并将其作为值返回.它在手工嘲弄中很有用。您可以重写所需的模块值:

代码语言:javascript
复制
// __mocks__/MyModule.js

const moduleName = jest.createMockFromModule('./moduleName');
moduleName.someNamedImport = () => 12345; // override method implementation

expect(moduleName.default.mocked).toBeTruthy(); // to check default import auto-mocking
expect(moduleName.someNamedImport()).toBe(12345)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71651076

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档