最佳答案
我有一个 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单击选定的元素并检查是否没有发生任何事情你有更好的办法吗?