pmi*_*nda 3 jestjs react-testing-library
我有这个测试:
const rendered = render(
<TransactionReason
reason={{ code: defaultReason }}
/>
);
expect(rendered.getByTestId('reasonInput')).toBeNull();
Run Code Online (Sandbox Code Playgroud)
我想做的是:有一个组件具有,但是当prop 具有我给出的值testID = 'reasonInput'时,该组件不会呈现(代码:defaultReason)。reason但我收到一个错误,因为 Jest 找不到该 id,当然,它没有呈现。我认为这会产生一个 false 或 null 值,这就是为什么我尝试使用toBeNullortoBeFalsy或类似的东西。
那么我如何测试该组件是否存在?
Est*_*ask 12
正如参考getByTestId文献所述,和之间的区别queryByTestId在于,如果没有匹配元素,前者会抛出错误:
getBy* 查询返回查询的第一个匹配节点,如果没有元素匹配或找到多个匹配项,则抛出错误(请改用 getAllBy)。
queryBy* 查询返回查询的第一个匹配节点,如果没有元素匹配则返回 null。这对于断言不存在的元素很有用。如果找到多个匹配项,则会抛出此错误(请改用 queryAllBy)。
它应该是:
expect(rendered.queryByTestId('reasonInput')).toBeNull();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7204 次 |
| 最近记录: |