Я пытаюсь использовать глобальную конфигурацию для 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);
})
Чтобы создать глобальную конфигурацию, я выполнил этот шаг:
Вот содержимое файла -
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.config.js) внутри папки «src», и это содержимое этого файла —
module.exports = {
setupFiles: ['<rootDir>/test/setupTests.js']
};
Нужно ли мне вносить какие-либо дополнения в package.json?
Поскольку у вас есть файл 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"
],
}