2017-11-19 12 views
0

편집 : onChange을 사용하여 값을 업데이트했습니다.이 값은 개별 문자가 아닌 전체 문자열을 조롱하는 이점이 있습니다.keyDown (jest + 효소)을 시뮬레이션 할 수 없습니다.


입력 값을 업데이트할지 또는 할 일 목록을 추가할지 구분하기 위해 keydown을 사용하고 있습니다.

이 기능은 브라우저에서 테스트 할 때 작동하지만 효소로 시뮬레이션 한 경우에는 시뮬레이션이 발생하지 않는 것처럼 스냅 샷에 todo가 추가되지 않습니다.

it('should add a new todo',() => { 
 
    const component = mount(<TodoList />) 
 
    const Input = component.find('.new-todo-input') 
 
    let wrapper = toJson(component); 
 
    
 
    expect(wrapper).toMatchSnapshot() 
 
    
 
    Input.simulate('keydown', { key: 'z', keyCode: 90, which: 90 }) 
 
    Input.simulate('keydown', { key: 'Enter', keyCode: 13, which: 13 }) 
 
    
 
    wrapper = toJson(component); 
 
    
 
    expect(wrapper).toMatchSnapshot() 
 
})

당신은 the code here의 나머지 부분을 찾을 수 있습니다.

+2

이 테스크를 실행할 때 표시되는 오류는 무엇입니까? –

+1

질문에 도움이되는 데 필요한 모든 정보가 필요합니다. 너 좀 자세히 설명해 줄 수 있니? –

+0

감사합니다 @AbdennourTOUMI, 오류가 없습니다 ... 그냥 시뮬레이션이 발생하지 않습니다. –

답변

0

your code in github을 확인했습니다. e.preventDefault()을 사용하고 있으므로 다음과 같이 조롱해야합니다.

Input.simulate('keydown', { preventDefault(){}, key: 'z', keyCode: 90, which: 90 }) 
+0

고마워요! 내 테스트에 추가했지만 스냅 샷에는 여전히 새로운 할 일 목록이 포함되어 있지 않습니다. –