Как получить доступ к дочерним компонентам React с помощью Jest

#reactjs #jestjs #enzyme

#reactjs #jestjs #фермент

Вопрос:

Я только начал изучать Jest и Enzyme в React и пытался получить доступ к реквизитам дочернего компонента. Тестовый пример:

 describe('<Component_A/>', () => {
    let wrapper = shallow(
        <BrowserRouter>
            <Component_A/>
        </BrowserRouter>
    );
    it('should render Component_A', () => {
        expect(wrapper.find(Component_A)).toHaveLength(0);
    });
});
  

Component_A:

 const component_A = (props) => {

return (<Component_B
        items={items}
    />);
}
  

Я попробовал .find(), .get(0), проверил реквизиты оболочки, дочерние элементы, ссылки на Component_B не было.

Может кто-нибудь, пожалуйста, объяснить, как мы можем получить доступ к Component_B и его элементам props в тестовом примере?

Ответ №1:

Попробуйте использовать «mount» вместо «shallow».

Также добавьте DisplayName в Component_A, чтобы найти его по имени.

 Component_A.displayName = "Component_A";