2017-01-18 8 views
1

doB my 모듈의 기능에 대한 단위 테스트를 작성합니다.sinon을 사용하여 수출되지 않은 기능 스터 빙

내가없이 doA가 내보내는 기능을 스텁 싶어, 나는 doBdoA 액세스하는 방식을 변경하지 선호합니다.

내 보낸 개체에 없기 때문에 간단히 이 될 수 없다는 것을 알고 있습니다.

내가 doA 스텁을 수행하는 방법 (sinon 또는 다른 도구를?)

function doA (value) { 
    /* do stuff */ 
} 

function doB (value) { 
    let resultA = doA(value); 
    if (resultA === 'something') { 
    /* do some */ 
    } else { 
    /* do otherwise */ 
    } 
} 

module.exports = exports = { 
    doB 
} 

답변

1

내가, rewire를 사용하여 종료 한 I 중 하나를 수행 할 수 있습니다 단지 __get__ 모듈에서 내부 기능과 sinonstub을 나 rewire__with__ 유틸리티를 사용하여 내부 값이 바뀐 기능을 호출하십시오.