Jest/Enzyme ShallowWrapper пуст при создании снимка

Итак, я пишу тест для моего компонента 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 должен иметь некоторое содержимое вместо того, чтобы быть пустым..

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

Спасибо

Ответ 1

Я столкнулся с той же проблемой после обновления до [email protected] Я вернулся к предыдущей версии [email protected], пока не выяснил, что изменилось. Если вы обнаружите, что изменилось, разместите это здесь.

Ответ 3

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

it('Should render Component', () => {
    const wrapper = mount(<Component {...props} />);
    expect(wrapper.debug()).toMatchSnapshot();
  });

Ответ 4

использовать метод debug() после оболочки

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

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