小编nel*_*les的帖子

在@headlessui/react中,如何模拟Dialog和Transition组件的动画?

在我的 Jest 测试中,我想模拟@headlessui/reactTransitionDialog组件的动画以加快我的测试速度。我目前只是诉诸await screen.findBy\'s 来等待动画结束,但随着我添加更多测试,测试套件运行时正在成为一个问题。

\n

这是我迄今为止尝试过的模拟:

\n
jest.mock("@headlessui/react", () => ({\n  Transition: ({ children, show }) => <>{show ? children : ""}</>,\n}));\n
Run 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}\n
Run Code Online (Sandbox Code Playgroud)\n

但如果我在 中尝试Modal.js,它会抛出 ff 错误:

\n …

reactjs jestjs headless-ui

7
推荐指数
1
解决办法
2690
查看次数

标签 统计

headless-ui ×1

jestjs ×1

reactjs ×1