【发布时间】:2020-03-10 15:26:28
【问题描述】:
我想知道如何使用 Jest 模拟一个 lodash _orderBy 方法,并确保它已使用以下参数调用。
我的 Vue.component 方法 sliceArray
sliceArray: function(array) {
let val = _.orderBy(array, "orderDate", "desc");
return val.slice(0, this.numberOfErrandsLoaded);
}
这是我目前所拥有的:
import _ from "lodash";
jest.unmock("lodash");
it("Check orderBy method from lodash", () => {
_.orderBy = jest.fn();
expect(_.orderBy).toHaveBeenCalledWith([], "orderDate", "desc");
});
当前错误信息:
Error: expect(jest.fn()).toHaveBeenCalledWith(...expected)
Expected: [], "orderDate", "desc"
Number of calls: 0
先谢谢了!
/E
【问题讨论】:
-
尝试模拟
lodash/orderBy.js而不是_.orderBy = jest.fn()。在你直接重写的时候,你的组件已经导入了lodash并以原版执行。 -
顺便说一句,您真的需要验证吗?如果你只是验证渲染结果呢?
标签: javascript unit-testing vue.js jestjs