7
我有一个使用反应路由器一个简单的组件(我知道这是alpha版本):测试组件,玩笑和酶
{props.app && props.app.health &&
<Match exactly pattern="/" component={HomeLogin} />
}
到该文档推荐在包装<MemoryRouter />
在测试时为组件提供上下文。
然而,玩笑/酶我无法shallow()
渲染 - 我必须使用酶的mount()
或render()
,这会导致问题,因为HomeLogin
是连接的组件 - 我希望能够来测试我的组件呈现正确的事情,但不是测试其中呈现的组件。
我的测试:
it('Renders based upon matched route',() => {
let props = {
app: { health: true },
};
const component = render(
<Provider store={store}>
<MemoryRouter location="/">
<Jumbotron {...props} />
</MemoryRouter>
</Provider>
);
expect(toJson(component)).toMatchSnapshot();
});
如何测试基于此路由组件的输出,而不必提供了Redux商店或使用浅呈现?
更新:如果我尝试使用shallow()
,快照将不呈现输出。
您是否找到了解决方案? – ridermansb