Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typescript Jest模拟es6命名的导入对象_Typescript_Ecmascript 6_Mocking_Jestjs - Fatal编程技术网

Typescript Jest模拟es6命名的导入对象

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

我想知道如何模拟一个导入的对象,用Jest返回一个假值

在这种情况下,我想将默认超时值(
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)
      })
    })
  })
})