console.log (Wrapper.debug ()) не показывает реагирующий компонент - PullRequest
0 голосов
/ 18 января 2019

Я использую энзим с jest и пытаюсь распечатать wrapper.debug, но не получаю вывод, как показано в jest docs. что здесь не так? мой тестовый файл:

import React  from 'react';
import Enzyme, {shallow} from 'enzyme';
import EnzymeAdapter from 'enzyme-adapter-react-16';
import App  from './../../components/App/App';



Enzyme.configure({ adapter : new EnzymeAdapter() });

it('should render without crashing', () => {
  const wrapper = shallow(<App />)


 console.log(wrapper.debug());

});

вывод моей консоли такой:

 PASS  src/test/integration/App.test.js
  ● Console

    console.log src/test/integration/App.test.js:14
      <ContextConsumer>
        [function bound renderWrappedComponent]
      </ContextConsumer>


Test Suites: 1 passed, 1 total
Tests:       1 passed, 1 total
Snapshots:   0 total
Time:        2.8s
Ran all test suites related to changed files.

1 Ответ

0 голосов
/ 18 января 2019

Неглубокий рендеринг полезен для тестирования компонента как модуля, поэтому он не будет погружаться и искать ваш компонент в пределах <ContextConsumer>.

Некоторые опции:

  • Вы можете напрямую обрабатывать компонент внутри <ContextConsumer>.
  • Вы можете изменить мелководье с помощью mount, который отображает полный DOM-рендеринг (возможно, здесь не ваша цель).
  • Используйте .dive(), который отрисовывает один не-DOM дочерний элемент текущей оболочки. Doc
...