Макет рендеринга реквизита React Component с Jest - PullRequest
0 голосов
/ 02 ноября 2018

Привет, я пытаюсь смоделировать следующий компонент React:

<Component content={data || {}}>
   {() => <ChildComponent/>}
 </Component>

Я написал следующий макет в mocks

import React from 'react';

const ComponentToMock = () => <div>A mock</div>;
export default ComponentToMock;

Теперь внутри моего тестового файла я написал

    jest.mock('presentational/Component');
    it(`should render`, () => {
      let wrapper = shallow(<Component {...props} />);
      console.log(wrapper.debug());
  });

и в консоли я получаю

<ComponentToMock content={1}>
  <undefined />
</ComponentToMock>

пока я ожидал

<div>A mock</div>

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

1 Ответ

0 голосов
/ 05 ноября 2018

Я на самом деле обнаружил, что использование mount вместо поверхностных вызывает метод рендеринга, поэтому внутри моих mocks я написал:

const ComponentMock = props => {
  return props.content ? props.children() : null;
};
export default ComponentMock;`
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...