Ошибка при шутке при попытке запустить тест

1

Это ошибка в консоли: Cannot find module 'expo' from 'setup.js'.

Ниже мой код:

component.test.js:

import React from 'react';
import MyComponent from '../components/Component';
import renderer from 'react-test-renderer';

test('create component correctly', () =>{
   const tree = renderer.create(
       <MyComponent/>
   ).toJSON();
   expect(tree).toMatchSnapshot();
});

Component.js:

import React, { Component } from 'react';
import {Text, View } from 'react-native';

export default class MyComponent extends React.Component{
   render(){
       return(
          <View style={{flex: 1}}>
              <View style={styles.cameraContainer}>
                  <Text> Test Component </Text>
              </View>
          </View>
      );
   }
}

Когда я пытаюсь использовать npm-тест, появляется ошибка, о которой я упоминал ранее, и я уже пытаюсь удалить и переустановить jest, и ошибка продолжает отображаться.

  • 0
    Я получаю ту же ошибку после извлечения. Не использую никаких API-интерфейсов в моем коде. Вы изгнали?
Теги:
react-native
unit-testing

1 ответ

0
Лучший ответ

Предполагая, что вы используете приложение create-react-native-app, похоже, что это происходит из предустановки jest-expo в настройке jest.

Замените его с помощью react-native Jest пресета, который теперь встроен в Jest:

jest.config.js:

module.exports = { preset: 'react-native' };

Или в пакете.json:

"jest": {
    "preset": "react-native"
  }
  • 0
    Я сделал это, а также использовал npm prune для очистки зависимостей, и после этого я снова устанавливаю зависимости с отсутствующими зависимостями, и все работает нормально. Спасибо, это поможет мне!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню