console.log(Wrapper.debug())没有显示react组件

时间:2019-01-18 08:55:48

标签: testing jestjs enzyme create-react-app

我在开玩笑地使用酶,并尝试打印出wrapper.debug,但是我没有得到如开玩笑的文档所示的输出。这是怎么了 我的测试文件:

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 :(得分:0)

浅表渲染对于将组件作为一个单元进行测试非常有用,因此它不会潜入<ContextConsumer>中寻找您的组件。

一些选项:

  • 您可以直接将<ContextConsumer>中的组件变浅。
  • 您可以使用mount更改浅色,以渲染完整的DOM渲染(此处可能不是您的意图)。
  • 使用.dive()浅浅呈现当前包装器的一个非DOM子级。 Doc