Typescript Jest模拟es6命名的导入对象
我想知道如何模拟一个导入的对象,用Jest返回一个假值 在这种情况下,我想将默认超时值(Typescript Jest模拟es6命名的导入对象,typescript,ecmascript-6,mocking,jestjs,Typescript,Ecmascript 6,Mocking,Jestjs,我想知道如何模拟一个导入的对象,用Jest返回一个假值 在这种情况下,我想将默认超时值(5000)改写为1000,以使函数崩溃 // config.ts export const config = { request: { timeout: 5000, }, }; 谢谢大家! 最新答案 在这种情况下,您必须使用Require而不是import(ESM) 测试文件如下所示: // Test file describe('greetings', () => { befo
5000
)改写为1000
,以使函数崩溃
// config.ts
export const config = {
request: {
timeout: 5000,
},
};
谢谢大家! 最新答案
在这种情况下,您必须使用Require
而不是import(ESM)
测试文件如下所示:
// Test file
describe('greetings', () => {
beforeEach(() => jest.resetModules())
describe('hello', () => {
describe('when the language is set to galician', () => {
it('returns galician for hi', () => {
jest.mock('./config', () => ({ request: { timeout: 1000 } }))
const { request } = require('./config')
expect(request.timeout).toEqual(1000)
})
})
describe('when the language is not set to galician', () => {
it('returns hi', () => {
jest.mock('./config', () => ({ request: { timeout: 2000 } }))
const { request } = require('./config')
expect(request.timeout).toEqual(2000)
})
})
})
})
参考-
// config.ts
export const config = {
request: {
timeout: 5000
}
}
// Test file
describe('greetings', () => {
beforeEach(() => jest.resetModules())
describe('hello', () => {
describe('when the language is set to galician', () => {
it('returns galician for hi', () => {
jest.mock('./config', () => ({ request: { timeout: 1000 } }))
const { request } = require('./config')
expect(request.timeout).toEqual(1000)
})
})
describe('when the language is not set to galician', () => {
it('returns hi', () => {
jest.mock('./config', () => ({ request: { timeout: 2000 } }))
const { request } = require('./config')
expect(request.timeout).toEqual(2000)
})
})
})
})