2017-01-20 9 views
0

Я пытаюсь протестировать компонент, который обертывает подключенный компонент. Так что я (упрощенно):Тестирование существования подключенного компонента с реакцией-редукцией

const InnerComponent =() => { 
    return (
    <p>Hi!</p> 
) 
} 

const InnerComponentWrapper = connect()(InnerComponent) 

const OuterComponent =() => { 
    return (
    <div> 
     <InnerComponentWrapper> 
    </div> 
) 
} 

(Очевидно, есть больше этих компонентов, в том числе состояния вещества, связанные)

Теперь я пытаюсь просто проверить, что InnerComponent (или InnerComponentWrapper) в OuterComponent. Я использую шут + фермент. Когда я рисую OuterComponent (мелкий или монтирующий), все, что я могу найти в OuterComponent, это элемент с тегом «Connect», который ничего не имеет на нем, я могу найти, что может сказать мне, какой элемент он обертывает.

Что я пробовал:

const enzymeWrapper = shallow(<OuterComponent />) 
expect(enzymeWrapper.find('Connect').length).toBe(1) // pass 
expect(enzymeWrapper.find('Connect(InnerComponentWrapper)').length).toBe(1) // fail 
expect(enzymeWrapper.find('InnerComponentWrapper').length).toBe(1) // fail 
expect(enzymeWrapper.find('InnerComponent').length).toBe(1) // fail 

Спасибо!

+0

будет '.dive()' помощь в вашем случае? https://github.com/airbnb/enzyme/blob/master/docs/api/ShallowWrapper/dive.md –

ответ

0

Я нашел решение, там определенно может быть лучше один, но это Hacky один будет делать сейчас:

const enzymeWrapper = shallow(<OuterComponent />) 
expect(enzymeWrapper.find('Connect').node.type.WrappedComponent({})).toEqual(InnerComponent({})) 
+0

Вы пробовали мой ответ? – AlexB

+0

Да, извините, я не думаю, что это применимо. – climbinghobo

 Смежные вопросы

  • Нет связанных вопросов^_^