Skip to content Skip to sidebar Skip to footer

Jest Test Fails With Refs And Form

I have a search bar component which looks like: render () { const { onChangeTextInput } = this.props return (

Solution 1:

Issue

The ref callback isn't getting called so this.searchForm is undefined when onChangeTextCallback() is invoked.

Details

From the Callback Refs docs: "React will call the ref callback with the DOM element when the component mounts".

In the test you are using shallow(). Shallow rendering does not mount the component so the ref callback is never called.

Solution

Mount the component. Since you are already using Enzyme you can use mount(). Note that "full DOM rendering requires that a full DOM API be available at the global scope", for Jest you can configure the test environment to use jsdom.

Post a Comment for "Jest Test Fails With Refs And Form"