2016-01-29 3 views
1

Я пытаюсь проверить функциональность глубоко вложенного компонента, но у меня возникли проблемы с «выбором» его для Simulate.React Component Children Testing

Как я уже подходя к проблеме является следующим:

const component = renderIntoDocument(TestParent); 
const dropdown = findRenderedComponentWithType(component, TimespanDropdown); 
const buttons = scryRenderedDOMComponentsWithTag(dropdown, 'button'); 
Simulate.click(buttons[0]); 

Это разваливается, когда я прохожу раскрывающийся список srcyRenderedDOMComponentsWithTag. Я мог бы добавить класс к своим кнопкам и, возможно, использовать scryRenderedDOMComponentsWithClass, но я предпочел бы, есть ли способ как-то «перехватить» эти вызовы find find.

+0

какой версии React вы используете? –

+0

версия 0.14.3 – paulruescher

ответ

0

Одним из способов вы могли бы упростить эту серию вызовов использовать ReactDOM.findDOMNode на корневой компонент, а затем использовать querySelector, чтобы перейти непосредственно к элементам, которые вы заботитесь о:

const component = ReactDOM.findDOMNode(renderIntoDocument(TestParent)); 
const buttons = component.querySelector('button'); 
Simulate.click(buttons[0]); 
Смежные вопросы