mow*_*ker 4 javascript typescript jestjs ts-jest
我的模拟utilFunction没有被使用,并且向工厂函数添加日志记录表明它从未被调用。我已经尝试过搜索 jest.mock 不使用相对路径,并且 jest.mock 没有被 Typescript 调用,认为它可能与 JS 测试和 TS 源代码的混合或源中使用的不同模块路径有关与测试代码。
正在测试的代码:
// src/foo/fooModule.ts
import { utilFunction } from '../util'
export const foo = () => {
return utilFunction()
}
Run Code Online (Sandbox Code Playgroud)
测试代码:
// test/fooModule.test.js
const { foo } = require('../src/foo/fooModule')
jest.mock('../src/util', () => {
return { utilFunction: () => 'mocked' };
});
describe('fooModule tests', () => ...)
Run Code Online (Sandbox Code Playgroud)
mow*_*ker 10
该jest.mock调用需要移至导入上方:
// test/fooModule.test.js
jest.mock('../src/util', () => {
return { utilFunction: () => 'mocked' };
});
const { foo } = require('../src/foo/fooModule')
describe('fooModule tests', () => ...)
Run Code Online (Sandbox Code Playgroud)
在此之前,我最后一次使用 Jest 的经历是在一个项目中,其中的测试也是用 Typescript 编写并babel-jest使用的。babel-jest包括babel-jest-hoist ,它会自动将笑话模拟提升到任何导入之上,所以我以前不必担心排序。
| 归档时间: |
|
| 查看次数: |
3163 次 |
| 最近记录: |