我有一个要使用Jest和react-testing-library编写单元测试的组件库。基于某些道具或事件,我想验证是否未渲染某些元素。
getByText,,getByTestId等引发错误,react-testing-library如果找不到该元素,则会导致该expect函数触发之前测试失败。
您如何使用react-testing-library测试是否在笑话中不存在?
我有一个要使用Jest和react-testing-library编写单元测试的组件库。基于某些道具或事件,我想验证是否未渲染某些元素。
getByText,,getByTestId等引发错误,react-testing-library如果找不到该元素,则会导致该expect函数触发之前测试失败。
您如何使用react-testing-library测试是否在笑话中不存在?
使用
queryBy/queryAllBy。正如你所说,
getBy*和getAllBy*如果没有找到引发错误。但是,等效的方法
queryBy*,queryAllBy*而是返回null或[]:https://testing-library.com/docs/dom-testing-library/api-queries#queryby
因此,对于您提到的特定两个,您将改为使用
queryByText和queryByTestId,但它们适用于所有查询,而不仅仅是这两个。