Jest - dontMock 函数没有按预期工作
Jest - dontMock function not working as expected
我试图在测试函数中取消模拟 axios 模块,但它一直返回模拟响应,即使我已经声明了 dontMock 函数。我做错了什么?
import Axios from 'axios';
jest.mock('axios');
describe('Testing Async Selectors', () =>
it('should render empty dropdown', async () => {
console.log(Axios);
});
it('should render empty dropdown', async () => {
jest.dontMock('axios');
console.log(Axios);
});
});
jest.dontMock(moduleName) should be used with jest.doMock(moduleName, factory, options).
例如
describe('Testing Async Selectors', () => {
beforeEach(() => {
jest.resetModules();
});
it('should mock axios', async () => {
jest.doMock('axios');
const Axios = require('axios');
expect(jest.isMockFunction(Axios)).toBeTruthy();
});
it('should not mock axios', async () => {
jest.dontMock('axios');
const Axios = require('axios');
expect(jest.isMockFunction(Axios)).toBeFalsy();
});
});
单元测试结果:
PASS src/Whosebug/64818492/index.test.ts (9.71s)
Testing Async Selectors
✓ should mock axios (47ms)
✓ should not mock axios (4ms)
Test Suites: 1 passed, 1 total
Tests: 2 passed, 2 total
Snapshots: 0 total
Time: 10.762s
我试图在测试函数中取消模拟 axios 模块,但它一直返回模拟响应,即使我已经声明了 dontMock 函数。我做错了什么?
import Axios from 'axios';
jest.mock('axios');
describe('Testing Async Selectors', () =>
it('should render empty dropdown', async () => {
console.log(Axios);
});
it('should render empty dropdown', async () => {
jest.dontMock('axios');
console.log(Axios);
});
});
jest.dontMock(moduleName) should be used with jest.doMock(moduleName, factory, options).
例如
describe('Testing Async Selectors', () => {
beforeEach(() => {
jest.resetModules();
});
it('should mock axios', async () => {
jest.doMock('axios');
const Axios = require('axios');
expect(jest.isMockFunction(Axios)).toBeTruthy();
});
it('should not mock axios', async () => {
jest.dontMock('axios');
const Axios = require('axios');
expect(jest.isMockFunction(Axios)).toBeFalsy();
});
});
单元测试结果:
PASS src/Whosebug/64818492/index.test.ts (9.71s)
Testing Async Selectors
✓ should mock axios (47ms)
✓ should not mock axios (4ms)
Test Suites: 1 passed, 1 total
Tests: 2 passed, 2 total
Snapshots: 0 total
Time: 10.762s