Я пытаюсь проверить свои реактивные компоненты с помощью jest и Enzyme.
Когда я импортирую фермент в json в конкретном тестовом случае, это работает.Но вместо того, чтобы делать это вручную, я хотел бы настроить jest для этого.
Я уже пытался добавить "snapshotSerializers": ["энзим-json / serializer"] в мою конфигурацию jest, но это не такпохоже, работает.
Как мне настроить jest на использование энзима-json в моих оболочках?
Этот код работает
Header.test.js
import React from 'react'
import { shallow } from 'enzyme'
import toJSON from 'enzyme-to-json'
import Header from '../../components/Header'
test('Should render Header correctly', () => {
const wrapper = shallow(<Header />)
expect(toJSON(wrapper)).toMatchSnapshot()
})
Я хочу, чтобы Jest автоматически использовал энзим-json во всех моих оболочках, чтобы этот код работал также:
Header.test.js
import React from 'react'
import { shallow } from 'enzyme'
import Header from '../../components/Header'
test('Should render Header correctly', () => {
const wrapper = shallow(<Header />)
expect(wrapper).toMatchSnapshot()
})
jest.config.json
{
"setupFiles": [
"raf/polyfill",
"<rootDir>/src/tests/setupTests.js",
],
"snapshotSerializers": ["enzyme-to-json/serializer"]
}
Тестовый сценарий
"test": "jest--config = jest.config.json "
ожидается
exports[`Should render Header correctly 1`] = `
<header>
<h1>
Title
</h1>
<NavLink
activeClassName="is-active"
exact={true}
to="/"
>
Home
</NavLink>
<NavLink
activeClassName="is-active"
to="/create"
>
Create
</NavLink>
</header>
`;
результат
exports[`Should render Header correctly 1`] = `ShallowWrapper {}`;