如何运行测试并恢复以前的组件状态?

问题描述 投票:0回答:1

我正在对我的反应组件进行一些测试。

在我的 describe 我有多个 it.

像这样。

describe('Check Component', () => {


  let wrapper;
  it('Init component', () => {
    wrapper = mount(
      <Component/>
    )
  });

  it('+ Check filter : select years options', () => {
    expect(wrapper.find('select[name="year"] > option')).toHaveLength(3)
  });


  it('+ Check change tab : personal stats', () => {
    wrapper.find('.tabs > .tab.personal').simulate('click');
    expect(wrapper.find('.tabs > .tab.personal').hasClass('selected')).toBeTruthy()
  });

 //many more it




});

在我的组件中,我有一些按钮来过滤一个列表,这些动作是通过 simulate() 改变了我的组件初始dom树,这迫使我不得不 simulate() 相反的操作,恢复到他的初始状态,以执行更多的测试,这导致了很多 "回滚",如果我有很多过滤器。

我怎么能恢复,或隔离测试?

reactjs jestjs enzyme
1个回答
0
投票

你可以使用beforeEach()在每次测试前获得wrapper的新版本。

describe('Check Component', () => {
  let wrapper;
  beforeEach(()=>{
    wrapper = mount <Component />
  })
  it(...)
© www.soinside.com 2019 - 2024. All rights reserved.