【发布时间】:2020-05-10 00:49:50
【问题描述】:
我正在尝试测试反应组件中的各个行和单元格,组件的“返回”如下所示:
return (
<div className="app-body">
<table className="grid">
<tbody>
{grid.map((row, rowIdx) => {
return <tr className="grid-row" key={rowIdx}>
{row.map((node, nodeIdx) => {
const { row, col } = node;
return <Node
key={nodeIdx}
row={row}
col={col}></Node>
})}
</tr>
})}
</tbody>
</table>
</div>
);
如何在 jest / Enzyme 中测试每个单元格? 我一直在尝试:
describe('test MyComponent', () => {
const wrapper = render(<MyComponent />);
const table = wrapper.find('table');
const row = render(<tr />)
const node = render(<Node />);
it('table grid', () => {
expect(table).toHaveLength(1);
expect(row).toHaveLength(1);
expect(node).toHaveLength(1);
});
});
为什么它只需要一个节点? 如何收集表中的所有节点?
【问题讨论】:
-
console.log(wrapper.debug())的输出是什么?在您的测试中传递给组件的grid数组的值是什么? -
返回 wrapper.debug 不是一个函数。网格起初是空的。它是一个节点对象数组的数组。