我想确保正在开玩笑地调用 HOC 组件,但我似乎无法开始jest.mock
工作。我的 HOC 是这样的:
const withEntity = (
...args
) => {
const wrappedComponent = WrappedComponent => {
const innerComponent = ({ ...props }) => {
return (
<WrapperComponent
{...props}
>
<WrappedComponent />
</WrapperComponent>
);
};
innerComponent.propTypes = {
...
};
return innerComponent;
};
wrappedComponent.propTypes = {
...
};
return wrappedComponent;
};
withEntity.propTypes = {
...
};
export default withEntity;
在一个单独的文件中,该withEntity
函数的调用方式如下:
export const DoSomething = withEntity(...args)(MyComponent);
然后,在DoSomething
组件的测试文件中,我尝试导入withEntity
函数并像这样模拟它:
import withEntity from "../../../shared/entity/higher_order_components/withEntity";
jest.mock("../../../shared/entity/higher_order_components/withEntity");
但是当我实际尝试运行测试时,我收到此错误:
● Test suite failed to run
TypeError: (0 , _withEntity.default)(...) is not a function
不知道如何解决这个错误,我在这里做错了什么?