Jest / Enzyme ShallowWrapper пуст при создании снимка - PullRequest
0 голосов
/ 29 января 2019

Итак, я пишу тест для моего компонента Item, и я попытался отобразить компонент ItemCard, а затем использовать эту оболочку для создания снимка, но он возвращает пустое ShallowWrapper {}

Пожалуйста, посмотритекод для дополнительной информации:

Item.test.js

import { shallow } from 'enzyme';
import { ItemCard } from '../Item';

const fakeItem = {
  id: 'aksnfj23',
  title: 'Fake Coat',
  price: '40000',
  description: 'This is suuuper fake...',
  image: 'fakecoat.jpg',
  largeImage: 'largefakecoat.jpg',
};

describe('<ItemCard/>', () => {
  it('renders and matches the snapshot', () => {
    const wrapper = shallow(<ItemCard me item={fakeItem} showButtons />);

    // console.log(wrapper.debug());
    expect(wrapper).toMatchSnapshot();
  });
});

Создаваемая оснастка:

// Jest Snapshot v1

exports[`<ItemCard/> renders and matches the snapshot 1`] = `ShallowWrapper {}`;

Насколько я знаю, ShallowWrapper должен иметь некоторый контентв нем вместо того, чтобы быть пустым ..

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

Спасибо

Ответы [ 3 ]

0 голосов
/ 06 февраля 2019

Для jest v24 вам необходимо использовать сериализатор снимков, например https://github.com/adriantoine/enzyme-to-json

source: https://github.com/facebook/jest/issues/7802

0 голосов
/ 08 июля 2019

Вы можете просто использовать функцию монтирования и отладки следующим образом:

it('Should render Component', () => {
    const wrapper = mount(<Component {...props} />);
    expect(wrapper.debug()).toMatchSnapshot();
  });
0 голосов
/ 01 февраля 2019

Я столкнулся с той же проблемой после обновления до jest@24.0.0. Я вернулся к предыдущей версии jest@23.6.0, пока не выяснил, что изменилось.Если вы обнаружите, что изменилось, опубликуйте это здесь.

...