It is a Jest-ism that shouldn't be in our open source package.
People using Jest can implement a similar pattern directly.
<SomeComponent handleChange={obj.handler} />,
        container,
      );
      const node = instance.refs.input;
      node.value = 'zebra';
      ReactTestUtils.Simulate.change(node);
      expect(obj.handler).toHaveBeenCalledWith(
        expect.objectContaining({target: node}),
      );
    });
    it('should throw when attempting to use a React element', () => {
      class SomeComponent extends React.Component {
        render() {
          return <div onClick={this.props.handleClick}>hello, world.</div>;
        }
      }
      const handler = jest.fn().mockName('spy');
      const shallowRenderer = createRenderer();
      const result = shallowRenderer.render(
        <SomeComponent handleClick={handler} />,
      );
      expect(() => ReactTestUtils.Simulate.click(result)).toThrowError(
        'TestUtils.Simulate expected a DOM node as the first argument but received ' +
          'a React element. Pass the DOM node you wish to simulate the event on instead. ' +
          'Note that TestUtils.Simulate will not work if you are using shallow rendering.',
      );
      expect(handler).not.toHaveBeenCalled();
    });
    it('should throw when attempting to use a component instance', () => {
      class SomeComponent extends React.Component {