小编zhe*_*lin的帖子

如何用Jest模拟咖喱功能?

add.js

export default a => b => a+b;
Run Code Online (Sandbox Code Playgroud)

module.js

import add from './add';

export default {
    add1: n => add(1)(n),
};
Run Code Online (Sandbox Code Playgroud)

测试 /module.js

import add from '../add';
import module from '../module';

jest.mock('../add', () => () => jest.fn());

module.add1(6);
expect(add.mock.calls).toHaveLength(1);
Run Code Online (Sandbox Code Playgroud)

可以调用此函数,但它add不是模拟函数,而是add()模拟函数,但是未正确记录调用参数。

jest.mock('../add', () => () => jest.fn(a => b => a+b));
Run Code Online (Sandbox Code Playgroud)

也尝试过这种方法,但似乎也无法正常工作。

jest.mock('../add', jest.fn(a => b => a+b));
Run Code Online (Sandbox Code Playgroud)

这会引发inline function错误

目前有没有模拟咖喱功能的正确方法?

jestjs

5
推荐指数
1
解决办法
1603
查看次数

标签 统计

jestjs ×1