Не может получить доступ к мелкой из глобального конфига - PullRequest
0 голосов
/ 09 апреля 2019

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

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

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

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

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

  1. Создала папку с именем 'test' в корневой папке приложения.В этой папке есть файл -'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;

Создан файл конфигурации jest ( jest.config.js ) внутри папки 'src', и это содержимое этого файла -

module.exports = {
    setupFiles: ['<rootDir>/test/setupTests.js']        
};

Нужно ли вносить какие-либо дополнения в package.json?

1 Ответ

1 голос
/ 09 апреля 2019

Так как у вас есть 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'] указывает корень вашего приложения.

Soution 2

Перемещение вашего /test/setupTests.js в "источник""папка.

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

Решение 3

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

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

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

"jest": {
    "setupFiles": [
      "<rootDir>/test/setupTests.js"
    ],
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...