我正在尝试为以下代码编写测试
var throttle = require('lodash.throttle');
search = throttle(async (searchTerm:string) => {
const response = await AxiosWrapper.Instance.post(this.props.url, { "searchTerm": searchTerm });
this.setState({
searchResult: response.data as ISearchResult,
showSearchResult: true
});
},500);
所以,我的模拟看起来像
jest.mock("lodash.throttle", () => {
console.log("blah");
});
我想从throttle func执行回调。
答案 0 :(得分:0)
如果查看jest docs for jest.mock,第二个参数是一个工厂(函数),它返回模块的模拟值。在这种情况下,我们正在模拟lodash.throttle函数,因此我们需要一个返回函数的工厂。如果你想模拟lodash.throttle这样它只是调用传入的回调,你会做
jest.mock("lodash.throttle", () => cb => cb())