We should be able to look at see if the child has a data-react-id attribute but isn't rendered by this copy of React and consequently warn.

See https://groups.google.com/forum/#!topic/reactjs/mdwfKKJ0L2Q.

expect(mockUnmount.mock.calls.length).toBe(0);
    ReactMount.render(<Component text="orange" key="A" />, container);
    expect(container.firstChild.innerHTML).toBe('orange');
    expect(mockMount.mock.calls.length).toBe(1);
    expect(mockUnmount.mock.calls.length).toBe(0);
    
    ReactMount.render(<Component text="green" key="B" />, container);
    expect(container.firstChild.innerHTML).toBe('green');
    expect(mockMount.mock.calls.length).toBe(2);
    expect(mockUnmount.mock.calls.length).toBe(1);
    
    ReactMount.render(<Component text="blue" key="B" />, container);
    expect(container.firstChild.innerHTML).toBe('blue');
    expect(mockMount.mock.calls.length).toBe(2);
    expect(mockUnmount.mock.calls.length).toBe(1);
  });
  it('should reuse markup if rendering to the same target twice', function() {
    var container = document.createElement('container');
    var instance1 = ReactDOM.render(<div />, container);
    var instance2 = ReactDOM.render(<div />, container);
    expect(instance1 === instance2).toBe(true);
  });
  it('should warn if mounting into dirty rendered markup', function() {
    var container = document.createElement('container');
    container.innerHTML = ReactDOMServer.renderToString(<div />) + ' ';
    spyOn(console, 'error');
    ReactMount.render(<div />, container);
    expect(console.error.calls.count()).toBe(1);
    container.innerHTML = ' ' + ReactDOMServer.renderToString(<div />);
    ReactMount.render(<div />, container);