Jest模拟一个对象

时间:2018-05-14 10:07:18

标签: javascript unit-testing jestjs

我需要模拟一个对象config.js,而不是像往常一样模拟一个函数。我有 -

//config.js . 
export default {
   foo: 'bar'
}

我试过了 -

import config from './config';
jest.mock('./config');
config.mockReturnValue({
   foo: 'zed'
})

也 -

import config from './config';
jest.mock('./config');
config.mockImplentation(() => ({
   foo: 'zed'
}));

但它没有嘲笑任何东西,我正常收到配置文件。

我做错了什么?

1 个答案:

答案 0 :(得分:4)

它只是一个返回对象而不是函数的模拟

jest.mock('./config', () => ({ foo: 'zed' }))

import config from './config';
config.foo = 'zed'

您遇到的问题是它只适用于返回函数的模块