Jest: Las instantáneas de React Native fallan con "TypeError: No se puede leer la propiedad '_tag' de undefined" para los componentes que contienen<textinput/>

Creado en 6 ago. 2016  ·  3Comentarios  ·  Fuente: facebook/jest

Reproducir:

  1. Modifique https://github.com/facebook/jest/blob/master/examples/react-native/Intro.js para agregar un <TextInput /> en render ()
  2. prueba npm

Resultado:

Pruebas FALLO /Intro-test.js (0.459s)
● Intro ›se procesa correctamente

  • TypeError: no se puede leer la propiedad '_tag' de undefined
    en ReactNativeBaseComponent.Mixin.mountComponent (node_modules / react / lib / ReactNativeBaseComponent.js: 179: 45)
    en Object.ReactReconciler.mountComponent (node_modules / react / lib / ReactReconciler.js: 47: 35)
    en ReactCompositeComponentMixin.performInitialMount (node_modules / react / lib / ReactCompositeComponent.js: 397: 34)
    en ReactCompositeComponentMixin.mountComponent (node_modules / react / lib / ReactCompositeComponent.js: 262: 21)
    en Object.ReactReconciler.mountComponent (node_modules / react / lib / ReactReconciler.js: 47: 35)
    en ReactCompositeComponentMixin.performInitialMount (node_modules / react / lib / ReactCompositeComponent.js: 397: 34)
    en ReactCompositeComponentMixin.mountComponent (node_modules / react / lib / ReactCompositeComponent.js: 262: 21)
    en Object.ReactReconciler.mountComponent (node_modules / react / lib / ReactReconciler.js: 47: 35)
    en ReactMultiChild.Mixin.mountChildren (node_modules / react / lib / ReactMultiChild.js: 242: 44)
    en ReactTestComponent.mountComponent (node_modules / react / lib / ReactTestRenderer.js: 53: 8)

Comentario más útil

Según https://facebook.github.io/jest/docs/tutorial-react-native.html#mock -native-modules-using-jest-mock, la solución es agregar

jest.mock('TextInput', () => 'TextInput');

al comienzo de su prueba.

Todos 3 comentarios

Según https://facebook.github.io/jest/docs/tutorial-react-native.html#mock -native-modules-using-jest-mock, la solución es agregar

jest.mock('TextInput', () => 'TextInput');

al comienzo de su prueba.

Deberíamos proporcionar una simulación predeterminada para TextInput.

Corregido en https://github.com/facebook/jest/pull/1516 para Jest 15.

¿Fue útil esta página
0 / 5 - 0 calificaciones