08
SEP
React 单元测试
文章讲述了使用React Testing Library和Vitest进行组件测试的过程,重点介绍了如何处理多次测试用例导致的虚拟DOM环境残留问题。首先,在两个测试用例中分别点击灰色按钮和黄色按钮并检查预期结果,但在运行时发现错误:`getByTestId("yellow")`方法获取到多个元素实例,这违反了唯一性原则。经过分析,问题出在每次测试后未清理渲染的组件,导致虚拟DOM中累积了多个实例。通过引入Vitest提供的`afterEach()`钩子,在每个测试用例结束后执行`cleanup()`方法,成功解决了残留问题,确保每次测试都在干净的环境中运行。最终提供了完整的测试代码示例,并列出了相关参考文档。--DeepSeek