.instance() => ReactComponent
Returns the single-node wrapper's node's underlying class instance; this
in its methods.
NOTE: can only be called on a wrapper instance that is also the root instance. With React 16
and above, instance()
returns null
for stateless functional components.
Returns
ReactComponent|DOMComponent
: The retrieved instance.
Example
function Stateless() { return <div>Stateless</div>; } class Stateful extends React.Component { render() { return <div>Stateful</div>; } }
React 16.x
test('shallow wrapper instance should be null', () => { const wrapper = shallow(<Stateless />); const instance = wrapper.instance(); expect(instance).to.equal(null); }); test('shallow wrapper instance should not be null', () => { const wrapper = shallow(<Stateful />); const instance = wrapper.instance(); expect(instance).to.be.instanceOf(Stateful); });
React 15.x
test('shallow wrapper instance should not be null', () => { const wrapper = shallow(<Stateless />); const instance = wrapper.instance(); expect(instance).to.be.instanceOf(Stateless); }); test('shallow wrapper instance should not be null', () => { const wrapper = shallow(<Stateful />); const instance = wrapper.instance(); expect(instance).to.be.instanceOf(Stateful); });
© 2015 Airbnb, Inc.
Licensed under the MIT License.
https://enzymejs.github.io/enzyme/docs/api/ShallowWrapper/instance.html