lch*_*lch 6 typescript jestjs ts-jest
no-such-module.ts
declare module 'no-such-module' {
export function sum(a: number, b: number): number;
}
Run Code Online (Sandbox Code Playgroud)
总和
import { sum } from 'no-such-module';
export const func = (a: number, b: number) => sum(a, b);
Run Code Online (Sandbox Code Playgroud)
样本.test.ts
jest.mock('no-such-module');
const { sum } = require('no-such-module');
sum.mockImplementation((a,b) => a+b);
describe('sample test', () => {
it('should pass', () => {
expect(sum(1, 2)).toBe(3);
});
});
Run Code Online (Sandbox Code Playgroud)
错误
Cannot find module 'no-such-module' from 'sample.test.ts'
> 1 | jest.mock('no-such-module');
| ^
2 | const { sum } = require('no-such-module');
3 |
4 | sum.mockImplementation((a,b) => a+b);
Run Code Online (Sandbox Code Playgroud)
是否可以模拟尚不存在的节点模块?我no-such-module在 ts 文件中声明了a 。我正在尝试模拟模块中的函数。
lch*_*lch 13
jest.mock('no-such-module', () => {
return {
sum: (a,b) => a+b
};
}, { virtual: true });
const { sum } = require('no-such-module');
Run Code Online (Sandbox Code Playgroud)
我们需要将选项传递{ virtual: true }给 jest.mock()
| 归档时间: |
|
| 查看次数: |
1014 次 |
| 最近记录: |