2017-04-21 3 views
3

jest framework를 사용하여 void javascript 함수 (아무 것도 반환하지 않는 함수)를 테스트하는 방법은 무엇입니까? 같은 것을 보여 주실 수 있습니까?jest를 사용하여 void javascript 함수를 테스트하는 방법은 무엇입니까?

+0

가장 잘 그들이 돌아 무슨 제목 –

+2

테스트를 구글? 그들은'undefined'를 리턴합니까? –

+3

값을 반환하지 않는 함수는 부작용이 있거나 무의미해야합니다. 전달 된 객체의 상태를 변경하거나 환경에서 무언가를하는 것과 같은 부작용. 따라서 기능이 무의미하지 않으면 부작용을 테스트하십시오. 실제 사례를 제시하면 도움이 될 것입니다. –

답변

3

void 함수를 테스트하는 가장 좋은 방법은 종속성의 동작을 조롱하는 것입니다.

// module being tested 
import sideEffect from 'some-module'; 

export default function() { 
    sideEffect(); 
} 

파일 조롱과 기능의 기대를 사용하면 예상대로 함수가 다른 모듈라고 주장 할 수

import hasSideEffect from './hasSideEffect'; 
import sideEffect from 'some-module'; 

jest.mock('some-module'); 

test('calls sideEffect',() => { 
    hasSideEffect(); 

    expect(sideEffect).toHaveBeenCalledTimes(1); 
    expect(sideEffect).toHaveBeenCalledWith(); 
}); 
관련 문제