为了账号安全,请及时绑定邮箱和手机立即绑定

测试一个元素在 Jest/RTL 中只存在一次

测试一个元素在 Jest/RTL 中只存在一次

白衣非少年 2022-06-09 09:57:22
我正在测试一个组件,您可以通过按“+”图标来添加子组件。呈现的 HTML 位于以下行中:<div>  <div>    <div>      From <input type="text" />    </div>    <div>      To <input type="text" />    </div>    <div>+</div>  </div></div>所以在最初的测试中,我测试了文本是否存在:// test setuptest('From and to occur only once', () => {  const { getByText } = setup();  expect(getByText('From')).toBeInTheDocument();  expect(getByText('To')).toBeInTheDocument();});这一切都很好。但我想确保最初内容只显示一次。所以我的下一个测试将是:// test setuptest('When add button is clicked there From and To exist two times', () => {  const { getByText } = setup();  const addButton = getByText("+")  // first row  expect(getByText('From')).toBeInTheDocument();  expect(getByText('To')).toBeInTheDocument();  fireEvent.click(addButton);  // second row  expect(getByText('From')).toBeInTheDocument();  expect(getByText('To')).toBeInTheDocument();});我将如何区分元素出现的第一次和第二次?
查看完整描述

1 回答

?
慕工程0101907

TA贡献1887条经验 获得超5个赞

考虑使用 getAllBy(点击后)而不是 getBy。这可以生成一个包含所有找到的元素的数组,您可以期望()它的总长度为 2。



查看完整回答
反对 回复 2022-06-09
  • 1 回答
  • 0 关注
  • 133 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号