cleanup的一个更细节的问题

来源:6-5 测试驱动 - Menu 测试添加

FDirector

2025-02-12

老师您好,在代码中

  it('should render vertical mode when mode is set to vertical', () => {
    // cleanup() 假设不执行cleanup()
    const wrapper = render(generateMenu(testVerProps)) // render渲染了新的Menu组件,并且wrapper指向了新Menu,此时应该已经和老Menu逻辑上解耦了
    const menuElement = wrapper.getByTestId('test-menu') // 在新Menu上寻找id元素
    expect(menuElement).toHaveClass('menu-vertical') // 判断新Menu的id元素是否拥有class
  })

所以,即使beforeEach()使document.body上有两个Menu实例,但是wrapper的指向已经限制在了新Menu上,为什么jest会报错呢?

写回答

1回答

张轩

2025-02-12

同学你好

请问 jest 的具体错误是什么?

0
1
FDirector
就是您课中出现的错误。 Found multiple elements by: [data-testid="test-menu"]. 我的问题是对您课中的代码有疑问,假设注释掉了 cleanup() 那行代码为什么会报错有疑问。
2025-02-13
共1条回复

React18+TS高仿AntD从零到一打造组件库

设计,开发,测试,发布再到 CI/CD,从0到1造轮子

2123 学习 · 959 问题

查看课程