javascript - 如何测试我的 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')
,但它写起来很长,而且对于仅测试一个字符串可能会超重......
解决方案
我终于找到了这个并且它有效!
wrapper.find("input").props().value
nb:只有一个输入,所以它没有返回一个集合(数组或其他东西)但我的 nodeReact 直接所以 at(x) 在这里没用
推荐阅读
- visual-studio - API Gateway 的 SAM 模板在 Visual Studio 中存在错误(作为无服务器应用程序解决方案的一部分)
- flask - 使用 pytest 测试烧瓶应用程序时,如何解决身份验证标头/cookie 丢失问题?
- css - CSS - 带阴影的 ZigZag 右边框
- aop - AspectJ 中代码内和代码内指示符之间的区别
- api - 使用 JSON Web Token (JWT) 进行身份验证和授权
- r - R 绘制数据集子集的核密度(以 char 变量为条件)
- groovy - Groovy:将 Json 转换为文本
- swift - AVCaptureDeviceInput 初始化失败
- python - 打开文件时尝试/排除无法正常运行
- xamarin.ios - 未在 Xamarin.iOS 中实现继承的抽象成员