我正在编写一个简单的Jest测试,用于验证我的组件是否已呈现.我看到React的TestUtils具有按类或按标签查找渲染组件的功能,但不包括其ID属性.有一个findAllInRenderedTree函数,但文档没有解释回调应该期望什么.
我猜测回调将接收某种元素对象,这不是普通的DOM元素或普通的React组件.究竟是什么传递给了findAllInRenderedTree回调,我应该如何得到它的属性,或者至少它的ID?
我只是console.log回调的论点,但我很难让控制台在Jest测试中工作.
findAllInRenderedTreegets 的回调参数传递了一个组件实例,并且应该返回一个boolean,指示组件是否应该保存在输出数组中.
在您的情况下,要查找具有给定id的所有呈现的DOM组件:
function scryRenderedDOMComponentsWithId(tree, id) {
return TestUtils.findAllInRenderedTree(tree, function(inst) {
return TestUtils.isDOMComponent(inst) && inst.getAttribute("id") === id;
});
}
Run Code Online (Sandbox Code Playgroud)
如果需要测试实际DOM节点的属性,可以使用它React.findDOMNode(inst)来检索给定组件实例的DOM节点.
| 归档时间: |
|
| 查看次数: |
7311 次 |
| 最近记录: |