Как проверить компонент, который превращает детей в реквизит фермента - PullRequest
1 голос
/ 20 февраля 2020

Я пытаюсь проверить, отдает ли данный компонент столько дочерних элементов, сколько он получает. На данный момент он отображает только два компонента. Я застрял, как я новичок в модульном тестировании. Вот что я попробовал:

Компонент. js:


const Component = ({ children }) => {
    return <div>{children}</div>;
};

Component.test. js:

import React from 'react';
import { shallow } from 'enzyme';
import Component from './Component';
import ChildComponent from './ChildComponent';
import ChildComponent2 from './ChildComponent';

it('show a ChildComponent component', () => {
    const wrapped = shallow(<Component children />);

    expect(wrapped.find(ChildComponent).length).toEqual(1)
});

it('show a ChildComponent2 component', () => {
    const wrapped = shallow(<Component children />);

    expect(wrapped.find(ChildComponent2).length).toEqual(1)
});

1 Ответ

1 голос
/ 21 февраля 2020
  1. при использовании поверхностного рендеринга shallow, тогда вы не будете рендерить детей, поэтому этот тест не может работать. Вы намерены проверить детей.
  2. Когда вы визуализируете <Component/>, вы действительно хотите передать этих детей
<Component>
    <ChildComponent />
    <ChildComponent2 />
</Component>
...