enzymejs/enzyme

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

Open

#1798 opened on Aug 28, 2018

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

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