enzymejs/enzyme

Documentation does not make it clear when to use `.dive()` vs `.shallow()`

Open

#1,798 opened on Aug 28, 2018

View on GitHub
 (26 comments) (24 reactions) (0 assignees)JavaScript (2,016 forks)batch import
docshelp wanted

Repository metrics

Stars
 (19,979 stars)
PR merge metrics
 (No merged PRs in 30d)

Description

Describe the bug

It's not clear to me what the differences between .dive() and .shallow() are. From the documentation, and the code, it looks like they do the same thing except that .dive() errors if the element is anything but a component. It also looks like .dive() inherits the options of the container it is called on, where .shallow() does not.

Why would one choose to use .dive() over .shallow(), or vice versa? I imagine, it .dive() is preferred over .shallow(), since it's more restrictive, but it would be nice if the documentation called that out explicitly.

Contributor guide