最佳答案
我有一个 React 组件,它生成一个按钮,按钮的内容包含一个像下面这样的 <span>
元素:
function Click(props) {
return (
<button disable={props.disable}>
<span>Click me</span>
</button>
);
}
我想用 react-testing-library
和 mocha
+ chai
来测试这个组件的逻辑。
我目前遇到的问题是 getByText("Click me")
选择器返回 <span>
DOM 节点,但是对于测试,我需要检查 <button>
节点的 disable
属性。处理这种测试用例的最佳实践是什么?我看到了一些解决方案,但是它们听起来都有点不靠谱:
<button>
元素使用 data-test-id
<Click />
组件的祖先之一,然后选择按钮 within(...)
this scopefireEvent
单击选定的元素并检查是否没有发生任何事情你有更好的办法吗?