测试组件中使用历史记录的组件时出现错误。我的测试:
describe('Widgetcomponent', () => {
const fakeProps = {
title: 'Test title',
history: { location: { pathname: '/' } },
redirectPath: '/path',
};
it('should match snapshot', () => {
const component = mount(
<MemoryRouter initialEntries={[{ pathname: '/', key: 'testKey' }]}>
<Widget{...fakeProps} />)
</MemoryRouter>
);
expect(component).toMatchSnapshot();
});
});
我遇到错误:
不变违反:A可能只有一个子元素
如何对其进行测试?我不想使用“浅”。
答案 0 :(得分:1)
您有一个小错字:
it('should match snapshot', () => {
const component = mount(
<MemoryRouter initialEntries={[{ pathname: '/', key: 'testKey' }]}>
<Widget{...fakeProps} />) <---HERE
</MemoryRouter>
);
expect(component).toMatchSnapshot();
});
应该是:
it('should match snapshot', () => {
const component = mount(
<MemoryRouter initialEntries={[{ pathname: '/', key: 'testKey' }]}>
<Widget{...fakeProps} />
</MemoryRouter>
);
expect(component).toMatchSnapshot();
});