Reactjs 命名导出组件中枚举的Jest模拟

Reactjs 命名导出组件中枚举的Jest模拟,reactjs,jestjs,Reactjs,Jestjs,我有以下子组件: export enum Bar { Yes = "Yes", No = "No" }; export const Child = () => { return <div>Something</div> } 在我对父母的测试中,我嘲笑孩子说: jest.mock("path/to/child", () => ({ Child: "child-component" __esModule: true, })) 但是当我

我有以下子组件:

export enum Bar { Yes = "Yes", No = "No" };

export const Child = () => {
    return <div>Something</div>
}
在我对父母的测试中,我嘲笑孩子说:

jest.mock("path/to/child", () => ({
    Child: "child-component"
    __esModule: true,
}))
但是当我去写/运行测试时,它会说Bar.Yes是未定义的

我认为问题在于我将Child模拟为子组件,并且它没有引用enum


如何正确地模拟它?

尝试将枚举定义向上移动到父级。通常,在多个组件中使用声明时,您应该将声明向上移动到公共父级。

好主意,这就是我最后要做的。但了解如何在测试中处理这个场景仍然是有帮助的。
jest.mock("path/to/child", () => ({
    Child: "child-component"
    __esModule: true,
}))