在 React 测试库中检查 class
Checking for a class in React testing library
我有一个名为 button-group
的 class,它是这样呈现的:
<body>
<div>
<span
class="button-group"
/>
</div>
</body>
现在,我如何 check/query 获取 button-group
class 的存在?我写了:
const { container } = render( <ButtonGroup /> );
expect( container.firstChild.toHaveClass( 'button-group' ) );
但是由于某种原因这个测试失败了,谢谢。
正确的测试方法之一如下:
<div>
<span data-testid="span-id"
class="button-group"
/>
</div>
测试用例如下:
render( <ButtonGroup /> );
expect(screen.getByTestId('span-id')).toHaveClass('button-group') ;
我们不应该直接引用节点进行测试。也看看这个文档 https://github.com/testing-library/eslint-plugin-testing-library/blob/main/docs/rules/no-node-access.md
我有一个名为 button-group
的 class,它是这样呈现的:
<body>
<div>
<span
class="button-group"
/>
</div>
</body>
现在,我如何 check/query 获取 button-group
class 的存在?我写了:
const { container } = render( <ButtonGroup /> );
expect( container.firstChild.toHaveClass( 'button-group' ) );
但是由于某种原因这个测试失败了,谢谢。
正确的测试方法之一如下:
<div>
<span data-testid="span-id"
class="button-group"
/>
</div>
测试用例如下:
render( <ButtonGroup /> );
expect(screen.getByTestId('span-id')).toHaveClass('button-group') ;
我们不应该直接引用节点进行测试。也看看这个文档 https://github.com/testing-library/eslint-plugin-testing-library/blob/main/docs/rules/no-node-access.md