【发布时间】:2021-08-22 00:13:16
【问题描述】:
我已经阅读了很多关于这方面的问题和博客,但还是有些不对劲。
人为的例子,但假设我有一个像这样的testDependency.ts 文件:
export default {
some: 'things',
to: 'be',
mocked: 'please'
}
然后我尝试在我的测试中模拟默认模块:
import * as testDep from 'lib/testDependency'
jest.mock('lib/testDependency', () => ({
__esModule: true,
default: { now: 'mocked' }
}))
describe('Test Dependency', () => {
it('should work', () => {
console.log(testDep) // would expect this to log { now: 'mocked' }
expect(testDep.now).toEqual('mocked')
})
})
console.log返回原值,期望失败。
我尝试使用相对导入而不是 lib/...,并且此模块不会导入代码库中的其他任何位置。我也尝试过使用import testDep from 'lib/testDependency' 导入,也没有成功。
还有什么可以阻止它工作的吗?我对这里应该发生的事情的理解是错误的吗?
【问题讨论】: