我有一个要使用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
,但它们适用于所有查询,而不仅仅是这两个。