在我的 Jest 测试中,我想模拟@headlessui/reactTransition和Dialog组件的动画以加快我的测试速度。我目前只是诉诸await screen.findBy\'s 来等待动画结束,但随着我添加更多测试,测试套件运行时正在成为一个问题。
这是我迄今为止尝试过的模拟:
\njest.mock("@headlessui/react", () => ({\n Transition: ({ children, show }) => <>{show ? children : ""}</>,\n}));\nRun Code Online (Sandbox Code Playgroud)\n这适用于更简单的组件,例如:
\n// SimpleTransition.js\nfunction SimpleTransition() {\n const [isShowing, setIsShowing] = useState(false);\n\n return (\n <div>\n <button onClick={() => setIsShowing((isShowing) => !isShowing)}>\n Toggle\n </button>\n <Transition\n show={isShowing}\n enter="transition-opacity duration-75"\n enterFrom="opacity-0"\n enterTo="opacity-100"\n leave="transition-opacity duration-150"\n leaveFrom="opacity-100"\n leaveTo="opacity-0"\n >\n I will fade in and out\n </Transition>\n </div>\n );\n}\nRun Code Online (Sandbox Code Playgroud)\n但如果我在 中尝试Modal.js,它会抛出 ff 错误: