首页 > 解决方案 > 如何测试我的 React 组件渲染另一个?

问题描述

我必须在其他组件中使用 Enzyme 和 Jest 在其他组件中测试 React 组件(datePicker)...我想检查带有 id:gt3ct 的输入的值。我的 DOM 看起来像这样:我的 DOM

我正在尝试这样的事情: expect(wrapper.find(UpDate).at(0).find('#gt3ct').at(0).props('value').value()).toBe('1745-12-01'); 但它不起作用,因为 UpDate 自己渲染了其他组件,而这些组件渲染了另一个组件,......所以我认为 expect(wrapper.find(UpDate).at(0).find(UpDate).at(0).find(ErrorDisplay).at(0).find(SingleDatePicker).find(OutSideClickHandler).at(0)"Other find".at(0).find('#gt3ct').at(0).props('value').value()).toBe('1745-12-01') ,但它写起来很长,而且对于仅测试一个字符串可能会超重......

标签: javascriptreactjsjestjsenzyme

解决方案


我终于找到了这个并且它有效!

wrapper.find("input").props().value

nb:只有一个输入,所以它没有返回一个集合(数组或其他东西)但我的 nodeReact 直接所以 at(x) 在这里没用


推荐阅读