Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Jest error de caso de prueba en reactivo nativo mediante el complemento externo

Estoy usando react-native init para crear un proyecto reactivo-nativo. Estoy utilizando la biblioteca https://github.com/andpor/react-native-sqlite-storage para enlaces SQLite.

Tengo un archivo de pruebas unitarias DbConnector.jest-test.js. Los contenidos son

import DbConnector from '../app/components/DbConnector.js'; // Note: test renderer must be required after react-native. import renderer from 'react-test-renderer'; it('renders correctly', () => { const tree = renderer.create( <DbConnector /> ); }); 

Cuando estoy corriendo jest, estoy recibiendo el siguiente error, incluso si por omisión node_modules se ignoran. Estoy usando el preajuste reactivo-nativo en package.json

 Test suite failed to run ReferenceError: window is not defined at Object.<anonymous> (node_modules/react-native-sqlite-storage/lib/sqlite.core.js:53:10) at Object.<anonymous> (node_modules/react-native-sqlite-storage/sqlite.js:10:12) at Object.<anonymous> (app/components/DbConnector.js:3:31) Test Suites: 1 failed, 1 total 

Las importaciones en DbConnector.js son como:

 import React, { Component } from 'react' import { AppRegistry, StyleSheet, Text, View, TextInput, Button, Alert, AsyncStorage } from 'react-native' import SQLite from 'react-native-sqlite-storage' 

2 Solutions collect form web for “Jest error de caso de prueba en reactivo nativo mediante el complemento externo”

Parece que la window is not defined problemas window is not defined está window is not defined viene de esta línea: https://github.com/andpor/react-native-sqlite-storage/blob/master/lib/sqlite.core.js#L53

Parece que su prueba falta una importación de react-native y debería verse así:

 import 'react-native'; import renderer from 'react-test-renderer'; 

Si esto no funciona, es posible que siga estos pasos para usar JSDOM de esta guía (que es de Enzyme, pero podría ayudarle!)

Debe intentar burlarse reaccionar-nativo-sqlite-almacenamiento antes de la prueba.

 jest.mock('react-native-sqlite-storage'); 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.