personnages

输入

import ShallowRenderer from 'react-test-renderer/shallow'; // ES6var ShallowRenderer = require('react-test-renderer/shallow'); // ES5 with npm

概观

在为React编写单元测试时,浅层渲染可能会有所帮助。浅层渲染使您可以渲染“一层深度”的组件,并确定其渲染方法返回的事实,而不必担心未实例化或渲染的子组件的行为。这不需要DOM。

例如,如果您有以下组件:

function MyComponent() { return ( 
Title
);}

然后你可以断言:

import ShallowRenderer from 'react-test-renderer/shallow';// in your test:const renderer = new ShallowRenderer();renderer.render();const result = renderer.getRenderOutput();expect(result.type).toBe('div');expect(result.props.children).toEqual([ Title, ]);

浅测试目前有一些限制,即不支持参考。

注意:我们也推荐检查酶的浅显示API。它通过相同的功能提供更好的更高级别的API。

参考

shallowRenderer.render()

您可以将shallowRenderer视为渲染正在测试的组件的“地点”,并从中提取组件的输出。

shallowRenderer.render()是类似的,ReactDOM.render()但它不需要DOM,只能渲染一个深度。这意味着您可以测试与孩子实施方式相关的组件。

shallowRenderer.getRenderOutput()

shallowRenderer.render()调用之后,可以使用shallowRenderer.getRenderOutput()获取浅显示的输出。

然后你可以开始断言输出结果。

Article précédent: Article suivant: