2017-12-29 39 views
0

jest를 사용하여 blur()을 호출하면 어떻게 테스트합니까? blur()가 호출되었는지 테스트하는 방법은 무엇입니까?

내 기능입니다 :

it('blurOnEnter() should blur target input field',() => { 
    const blur = jest.fn() 
    wrapper = shallow(<Component />) 
    wrapper.instance().blurOnEnter({ 
    keyCode: 13, 
    target: { blur } 
    }) 
    expect(blur.calls.length).toBe(1) // TypeError: Cannot read property 'length' of undefined 
}) 

왜 내가받을 수 있나요 :

blurOnEnter (event) { 
    if (event.keyCode === 13 && !event.shiftKey) event.target.blur() 
} 

그리고 이것은 내가 그것을 테스트 할 방법이지만, 내가 처리하는 방법을 모르는 내 문 기대 Cannot read property 'length' of undefined

+0

어떤 종류의 태그를 블러 링합니까 – orangespark

+0

텍스트 영역의 요소 – user3142695

+0

답변이 작동하는지 알려주세요 :) – orangespark

답변

0

형식 오류 방법에 대해 :

it('blurOnEnter() should blur target input field',() => { 
    const blur = jest.fn() 
    wrapper = shallow(<Component />) 
    wrapper.instance().blurOnEnter({ 
    keyCode: 13, 
    target: { "blur": blur } // see here! 
    }) 
    expect(blur.mock.calls.length).toBe(1) // and here 
}) 

jest mocking docs에 따르면 (http://facebook.github.io/jest/docs/en/mock-functions.html#content) jest mocks는 mock 속성을 사용하지만 원래 코드에서는 사용하지 않았습니다.