2017-03-17 5 views
1

그래서 jest와 효소를 사용하여 material-ui 토글 구성 요소를 기반으로하는 일부 기능을 테스트하려고합니다. 재료 - UI 토글 구성 요소 테스트를 시뮬레이션하십시오.

나는 다른 재료 UI 구성 요소에 대해 잘 작동하는 일반 clickIt 기능을 가지고 있지만,이 하나는 상태 변화

function clickIt(wrapper, selector) { 
    let elem = wrapper; 

    if (selector) { 
    elem = wrapper.find(selector); 
    } 

    const node = ReactDOM.findDOMNode(elem.node); 
    TestUtils.Simulate.touchTap(node); 
} 

그리고 테스트에 트리거하지 않는 것 :

에게
const toggle = wrapper.find('#subscribe-toggle'); 

expect(toggle.props().checked).to.be(true); 

clickIt(toggle); 

expect(toggle.props().checked).to.be(true); // <- fails 

이 문제를 해결하는 방법에 대한 아이디어가 있습니까?

+0

토글 구성 요소는 A A 'onTouchTap' 속성 만'onToggle' 속성이 없습니다. 그러므로 'touchTap' 이벤트가 그것을 트리거하지 않을 수 있습니까? – Aron

+0

또한 '클릭'을 시도했지만 – ospfranco

+0

까지 작동하지 않는 것으로 나타났습니다. 모든 소재 UI 구성 요소는 성능/대기 시간 문제로 인해 onTouchTap을 사용해야합니다. – ospfranco

답변

2

를 사용하여 주위를 가지고 :

// clickIt(toggle); 
// toggle.last().simulate('click'); 
toggle.props().onChange(); // None of the above work, you can thank material ui for that one