【发布时间】:2019-10-28 20:03:12
【问题描述】:
我有一个生成按钮的 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 属性。处理此类测试用例的最佳实践是什么?我看到了几个解决方案,但听起来都有些不对劲:
- 将
data-test-id用于<button>元素 - 选择
<Click />组件的祖先之一,然后选择按钮within(...)这个范围 - 用
fireEvent点击选中的元素并检查是否没有发生任何事情
您能提出更好的方法吗?
【问题讨论】:
-
测试button元素的disabled属性为真?
标签: reactjs react-testing-library