React js: cómo burlarse del contexto al probar el componente

Estoy tratando de probar un componente que hereda el contexto de un componente raíz, sin cargar / renderizar todo desde la raíz hacia abajo. Intenté y busqué ejemplos sobre cómo burlarse del contexto, pero no puedo encontrar nada (al menos eso no usa broma).

Aquí hay un ejemplo simplificado de lo que estoy tratando de lograr.

¿Hay alguna manera simple de burlarme de reactEl.context para la prueba?

/**
* Root Element that sets up & shares context
*/
class Root extends Component {
  getChildContext() {
    return { 
      language: { text: 'A String'} 
    };
  }

  render() {
    return (
      <div>
        <ElWithContext />
      </div>
    );
  }
}

Root.childContextTypes = { language: React.PropTypes.object };

/**
 * Child Element which uses context
 */
class ElWithContext extends React.Component{
  render() {
    const {language} = this.context;
    return <p>{language.text}</p>
  }
}

ElWithContext.contextTypes = { language: React.PropTypes.object }



/**
 * Example test where context is unavailable.
 */
let el = React.createElement(ElWithContext)

element = TestUtils.renderIntoDocument(el);
// ERROR: undefined is not an object (evaluating 'language.text')

describe("ElWithContext", () => {
  it('should contain textContent from context', () => {
    const node = ReactDOM.findDOMNode(element);
    expect(node.textContent).to.equal('A String');
  });
})

Respuestas a la pregunta(2)

Su respuesta a la pregunta