相关疑难解决方法(0)

jest.mock() 在测试内部不起作用,仅在测试外部起作用

我有一套简单的测试,在某些情况下我想模拟一个模块,而在某些情况下则不想。但是,jest.mock()只有在测试之外才有效。任何人都知道为什么会这样以及我做错了什么?

这是我想要模拟的函数的实际导入

import {hasSupport, getCallingCode} from 'utils/countryCallingCode';
Run Code Online (Sandbox Code Playgroud)

这是这个函数的模拟:

jest.mock('utils/countryCallingCode', () => ({
    getCallingCode: () => '1',
    hasSupport: () => true,
  }));
Run Code Online (Sandbox Code Playgroud)

现在,工作场景是:

//imports
//mock

describe('...', () -> {
    it('...', () -> {

    });
});
Run Code Online (Sandbox Code Playgroud)

这不起作用:

//imports

describe('...', () -> {
    //mock

    it('...', () -> {

    });
});
Run Code Online (Sandbox Code Playgroud)

这也不起作用:

//imports

describe('...', () -> {
    it('...', () -> {
        //mock
    });
});
Run Code Online (Sandbox Code Playgroud)

reactjs jestjs

36
推荐指数
2
解决办法
3万
查看次数

标签 统计

jestjs ×1

reactjs ×1