A method that sets the context of the root component, and re-renders. Useful for when you are wanting to test how the component behaves over time with changing contexts.
NOTE: can only be called on a wrapper instance that is also the root instance.
context
(Object
): An object containing new props to merge in with the current stateReactWrapper
: Returns itself.
import React from 'react'; import PropTypes from 'prop-types'; function SimpleComponent(props, context) { const { name } = context; return <div>{name}</div>; } SimpleComponent.contextTypes = { name: PropTypes.string, };
const context = { name: 'foo' }; const wrapper = mount(<SimpleComponent />, { context }); expect(wrapper.text()).to.equal('foo'); wrapper.setContext({ name: 'bar' }); expect(wrapper.text()).to.equal('bar'); wrapper.setContext({ name: 'baz' }); expect(wrapper.text()).to.equal('baz');
.setContext()
can only be used on a wrapper that was initially created with a call to mount()
that includes a context
specified in the options argument.contextTypes
static property.
© 2015 Airbnb, Inc.
Licensed under the MIT License.
https://airbnb.io/enzyme/docs/api/ReactWrapper/setContext.html