Тестирование снимков, возвращающее пустой объект с энзимом, шуткой и предварительным действием - PullRequest
0 голосов
/ 10 июля 2020

Я использую комбинацию Enzyme и Jest для тестирования моментальных снимков в проекте Preact shallow и mount возвращают ShallowWrapper{} и ReactWrapper{} при использовании с jest и preact. Я использовал enzyme-with-json для сериализации в jest.config.js, который возвращает ожидаемый результат, но expect не работает при использовании с toMatchSnapshot, поскольку он сравнивает его с пустым объектом.

import { shallowToJson } from 'enzyme-to-json';
import { shallow } from 'enzyme';
import Loader from './index';

describe('Loader Component', () => {
  it('should render correctly', () => {
    const component = shallow(<Loader />);
    console.log(component); // returns ShallowWrapper{}
    expect(shallowToJson(component)).toMatchSnapshot();
  });
});

Мои настройки :

"preact" : 10.3.3,
"jest": 26.0.1,
"jest-enzyme": 7.1.2
"enzyme-to-json": 3.5.0
"enzyme-adapter-preact-pure" : 2.2.0

Вот мой установочный файл, предоставленный Jest:

import { configure } from 'enzyme';
import 'jest-enzyme';
import Adapter from 'enzyme-adapter-preact-pure';

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

Может ли кто-нибудь помочь мне выяснить, что мне здесь не хватает?

1 Ответ

0 голосов
/ 10 июля 2020

Попробуйте использовать expect(toJson(component)).toMatchSnapshot(); При первом запуске будет отображаться что-то вроде «Снимок создан». Сохраните снимок, и в следующий раз он сравнит его и выдаст ошибки, если таковые имеются.

...