Не удается получить доступ к мелкому из глобальной конфигурации

Я пытаюсь использовать глобальную конфигурацию для Enzyme в своем приложении для реагирования. Я прочитал несколько документов об этом и подумал о том, чтобы попробовать. Но я должен что-то упустить.

Вот мой тестовый скрипт (Grid.test.js) для компонента Сетка. Обратите внимание, что этот файл находится в той же папке, что и сам файл Componenet. Я не поддерживаю отдельную «тестовую» папку для тестовых сценариев.

import React from 'react';
import Grid from './Grid';

test('Grid Renders',()=>{    
const wrapper=shallow(<Grid></Grid>)
expect(wrapper.length).toBe(1);
})
  • Jest предупреждает меня, что не может найти мелкий

Чтобы создать глобальную конфигурацию, я выполнил этот шаг:

  1. Создал папку под названием «тест» в корневой папке приложения. В этой папке есть файл - setupTests.js.

Вот содержимое файла -

import React from 'react';
import Enzyme, { shallow, render, mount } from 'enzyme';
import Adapter from 'enzyme-adapter-react-16';;

Enzyme.configure({ adapter: new Adapter() });

global.React = React;
global.shallow = shallow;
global.render = render;
global.mount = mount;
  1. Создал файл конфигурации шутки (jest.config.js) внутри папки «src», и это содержимое этого файла —

    module.exports = {
        setupFiles: ['<rootDir>/test/setupTests.js']        
    };
    
  2. Нужно ли мне вносить какие-либо дополнения в package.json?

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
0
364
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Поскольку у вас есть файл jest.config.js в папке «src». <rootDir> представляет папку «src».

module.exports = {
    // Here "<rootDir>" is "src" folder
    setupFiles: ['<rootDir>/test/setupTests.js']        
};

Вот почему у тебя проблемы. Вы можете решить это с помощью

Решение 1

Перемещение файла jest.config.js на корневой уровень.

Таким образом, <rootDir> в setupFiles: ['<rootDir>/test/setupTests.js'] указывает на корень вашего приложения.

Решение 2

Переместите /test/setupTests.js в папку «src».

И добавьте в свой скрипт "test": "jest --config ./src/jest.config.js"

Решение 3

Сохранение /test/setupTests.js там, где оно есть, то есть на корневом уровне.

Удалить файл jest.config.js.

И добавьте конфигурацию в package.json.

"jest": {
    "setupFiles": [
      "<rootDir>/test/setupTests.js"
    ],
  }

Другие вопросы по теме