有一个在屏幕加载时运行的功能。我需要模拟该函数以覆盖代码。测试已通过,但未更改的状态未更改。
未发现的行是:else return [];
filterPermissionOwner = ownerTypeID => {
let row = this.props.permissionOwner.payload.filter(item => item.ownerTypeID === ownerTypeID);
if (row.length > 0) return [row[0].roleUID];
else return [];
};
//Unit Test Code :
it("filterPermissionOwner", () => {
wrapper = shallow( < PermissionDetail { ...props
}
/>);
const instance = wrapper.instance(); instance.filterPermissionOwner = jest.fn().mockImplementation((ownerTypeID) => {
return [];
}); instance.filterPermissionOwner(-1); expect(instance.filterPermissionOwner).toHaveBeenCalled();
});
预期:否则返回[];行应该被覆盖。
实际:行未覆盖。