我正在对我的反应组件进行一些测试。
在我的 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()
相反的操作,恢复到他的初始状态,以执行更多的测试,这导致了很多 "回滚",如果我有很多过滤器。
我怎么能恢复,或隔离测试?
你可以使用beforeEach()在每次测试前获得wrapper的新版本。
describe('Check Component', () => {
let wrapper;
beforeEach(()=>{
wrapper = mount <Component />
})
it(...)