我的嘲笑utilFunction
没有被使用,并且向工厂函数添加日志记录表明它从未被调用。我已经尝试过搜索 jest.mock 不使用相对路径,并且 jest.mock 没有被 Typescript 调用,认为它可能与 JS 测试和 TS 源代码的混合或源中使用的不同模块路径有关与测试代码。
正在测试的代码:
// src/foo/fooModule.ts
import { utilFunction } from '../util'
export const foo = () => {
return utilFunction()
}
测试代码:
// test/fooModule.test.js
const { foo } = require('../src/foo/fooModule')
jest.mock('../src/util', () => {
return { utilFunction: () => 'mocked' };
});
describe('fooModule tests', () => ...)
The jest.mock
呼叫需要转移above进口:
// test/fooModule.test.js
jest.mock('../src/util', () => {
return { utilFunction: () => 'mocked' };
});
const { foo } = require('../src/foo/fooModule')
describe('fooModule tests', () => ...)
在此之前,我最后一次使用 Jest 的经历是在一个项目中,测试也是用 Typescript 编写的,babel-jest
被使用了。babel-jest
包括babel 玩笑提升机 https://www.npmjs.com/package/babel-plugin-jest-hoist它会自动将笑话模拟提升到任何导入之上,因此我以前不必担心排序。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)