GTF*_*GTF 12 testing reactjs redux react-redux
我有一个设置道具的测试,以观察组件中的一些变化.唯一的复杂因素是我将渲染的元素包装在a中,<Provider>因为树中有一些连接的组件.
我正在渲染
const el = () => <MyComponent prop1={ prop1 } />;
const wrapper = mount(<Provider store={store}>{ el() }</Provider>);
Run Code Online (Sandbox Code Playgroud)
然后我尝试使用以下内容观察一些更改:
wrapper.setProps({ /* new props */ });
// expect()s etc.
Run Code Online (Sandbox Code Playgroud)
问题是setProps()没有在包装组件上正确设置道具.我认为这是因为<Provider>它实际上并没有通过道具,因为它不是HoC.有没有更好的方法来测试这个,而不仅仅是更改本地范围的道具变量和重新渲染?
这是使用 setProps
import { Provider } from 'react-redux';
const renderComponent = properties => mount(
React.createElement(
props => (
<Provider store={store}>
<IntlProvider locale="en" defaultLocale="en" messages={messages}>
<Router>
<MyComponent {...props} />
</Router>
</Provider>
),
properties))
Run Code Online (Sandbox Code Playgroud)
然后在你的测试
it('should set some props', () => {
const renderedComponent = renderComponent(props);
renderedComponent.setProps({ /* some props */ } });
expect(true).toBe(true);
})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3132 次 |
| 最近记录: |