1
현재 NodeJS 앱을 작성 중이며 기능 테스트를 작성하고 싶습니다. SinonJS는 스파이/스텁/모의 라이브러리 중 선택하는 것으로 보이지만 기능에 대한 메소드를 스텁하는 방법을 알아낼 수 없습니다. 예 :SinonJS를 사용하여 라이브러리 스텁하기
내가 ExecSync라는 라이브러리를 사용한다고 가정 해 보겠습니다. 내 사양 내에서 해당 라이브러리에 sh()
메서드를 스텁 싶지만 올바르게 작동하지 않는 것 같습니다. 누군가 다른 스팩 파일의 내부에서 라이브러리 메소드를 스터 빙하는 예제를 제공 할 정도로 친절한가요?
- spec.js - 나는 내 테스트를 쓰고 있어요 곳입니다.
- util.js - 여기서 테스트하는 메소드가 있습니다. 이 메서드는 execSync.sh()를 호출하며 npm 및
require()
을 통해 포함됩니다.
모든 도움을 주시면 감사하겠습니다. ,
당신이 종속성을 스텁 수 없습니다describe('A test', function() {
beforeEach(function() {
// what you want to stub is passed as a string
sinon.stub(ExecSync, 'sh').yields(null,40);
});
afterEach(function() {
ExecSync.restore();
});
it('has behaviour', function() {
ExecSync.sh(function(err, res) {
// err = null, res = 40
});
});
});
또 다른 일반적인 연습, 테스트중인 모듈에 그 의존성을 작성하는 것입니다
두 번째 대답은 영리합니다. 도와 주셔서 감사합니다! –