and*_*ugh 2 javascript unit-testing jestjs
我需要模拟一个对象,config.js而不是像往常一样模拟一个函数。我有 -
//config.js .
export default {
foo: 'bar'
}
Run Code Online (Sandbox Code Playgroud)
我试过了 -
import config from './config';
jest.mock('./config');
config.mockReturnValue({
foo: 'zed'
})
Run Code Online (Sandbox Code Playgroud)
还-
import config from './config';
jest.mock('./config');
config.mockImplentation(() => ({
foo: 'zed'
}));
Run Code Online (Sandbox Code Playgroud)
但是它没有嘲笑任何东西,并且我正在正常获取配置文件。
我究竟做错了什么?
它只是一个返回对象而不是函数的模拟
jest.mock('./config', () => ({ foo: 'zed' }))
Run Code Online (Sandbox Code Playgroud)
要么
import config from './config';
config.foo = 'zed'
Run Code Online (Sandbox Code Playgroud)
您的方法的问题在于,它仅适用于返回函数的模块
现在有一个解决方案。您可以使用:
jest.replaceProperty(config, 'foo', 'zed');
Run Code Online (Sandbox Code Playgroud)
更多信息:Jest 文档 - jest.replaceProperty
| 归档时间: |
|
| 查看次数: |
2880 次 |
| 最近记录: |