我有一个React组件,它生成一个按钮,其内容包含如下<span>
个元素:
function Click(props) {
return (
<button disable={props.disable}>
<span>Click me</span>
</button>
);
}
我想用react-testing-library
和mocha
+chai
来测试这个组件的逻辑.
我目前遇到的问题是,getByText("Click me")
Select 器返回<span>
DOM node ,但对于测试,我需要判断<button>
node 的disable
属性.处理此类测试用例的最佳实践是什么?我看到了一些解决方案,但它们听起来都有点不对劲:
- 用
data-test-id
表示<button>
元素 - Select
<Click />
组件的一个祖先,然后在此范围内 Select 按钮within(...)
- 用
fireEvent
点击所选元素,并判断是否没有发生任何事情
你能建议一个更好的方法吗?