When you do `<Foo />` but Foo is not a valid string or function, we show an error message:

https://github.com/facebook/react/blob/92c84a6f37245f4fbe3ce5dc50845856201637fa/src/isomorphic/classic/element/ReactElementValidator.js#L196

We include the owner name ("Please check the render method of Bar.") but not the full parent stack which we show for some of our other warnings like key warnings and prop types. We should call into ReactComponentTreeHook to get the full stack if possible. 

'Warning: React.createElement: type is invalid -- expected a string ' +
      '(for built-in components) or a class/function (for composite ' +
      'components) but got: null. Check the render method of `ParentComp`.'
    );
  });
  it('should check default prop values', () => {
    spyOn(console, 'error');
    var Component = React.createClass({
      propTypes: {prop: React.PropTypes.string.isRequired},
      getDefaultProps: function() {
        return {prop: null};
      },
      render: function() {
        return React.createElement('span', null, this.props.prop);
      },
    });
    ReactTestUtils.renderIntoDocument(React.createElement(Component));
    expectDev(console.error.calls.count()).toBe(1);
    expectDev(console.error.calls.argsFor(0)[0]).toBe(
      'Warning: Failed prop type: The prop `prop` is marked as required in ' +
      '`Component`, but its value is `null`.\n' +
      '    in Component'
    );
  });
  it('should not check the default for explicit null', () => {
    spyOn(console, 'error');
    var Component = React.createClass({
      propTypes: {prop: React.PropTypes.string.isRequired},
      getDefaultProps: function() {
        return {prop: 'text'};