2016-08-08 3 views
1

아이콘을 클릭하면 상태가 변경된 다음 반응 대신 입력을 입력합니다.반응이없는 성분 + capypara가 작동하지 않음

내 테스트에서이를 시뮬레이션하려고 할 때 capybara를 사용하면 구성 요소가 변경되지 않습니다.

카피 바라 때문에 부품에서 클릭이 작동하지 않을 수 있습니다. 아니면 반응 성분이기 때문에 효과가 없을까요?

구성 요소 :

render() { 
    return (
    <div> 
     { this.state.editable ? this.renderEditableComponent() : this.renderNotEditableComponent() } 
    </div> 
) } 

    renderEditableComponent() { 
    return (
    <EditableDeliverLimit 
     value={ this.state.value } 
     handleClick={ this.handleClick.bind(this) } /> 
) } 

    renderNotEditableComponent() { 
    return (
     <NotEditableDeliverLimit 
     value={ this.state.value } 
     handleClick={ this.handleClick.bind(this) } /> 
) } 

테스트 :

Then "should successfuly change deliver limit" do 
    wait_for_selector_appearance("##{ad_table_row_id(@ad)} .ad-table-row-deliver-limit span") 
    find("##{ad_table_row_id(@ad)} .ad-table-row-deliver-limit span").click 
    wait_for_selector_disappearance("##{ad_table_row_id(@ad)} .ad-table-row-deliver-limit span") 
end 
+0

코드가 capybara 외부에서 작동합니까? 문제를 해결할 수 있도록 일부 코드를 공유 할 수 있습니까? – Justin

+0

예! 내가 시험 밖에서 시험 할 때, 모든 것이 잘 작동한다. 내 질문을 편집하여 코드를 작성하겠습니다. – Marina

+0

카피 바라 (Capybara)에서 어떤 드라이버를 사용하고 있습니까? –

답변

0

PhantomJS와 Qt는 웹킷 사용중인 버전이 구식과 반작용에 필요한 Function.prototype.bind을 지원하지 않습니다. PhantomJS 2.1.1+로 업그레이드하고 Qt 5.51로 capybara-WebKit 다시 작성

+0

qt5를 설치 한 후 qtWebkit이 제거되었습니다. 내가 무엇을 할 수 있을지? – Marina

+0

@Marina 5.6 설치하지 않음 5.5.1 –

+0

qt55를 설치 한 후 capybara-webkit을 다시 빌드했지만 여전히 작동하지 않았습니다. – Marina