2012-01-09 2 views
5

테스트를 실행하기 위해 node.js 및 jasmine-node npm 모듈을 사용하고 있습니다. 이것은 코드가 오류를 생성하는 경우를 제외하고는 완벽하게 작동합니다. 나는 스택 트레이스를 얻지 못했다. 예를 들어, 내 테스트 중 하나는이 출력 :재스민 노드 오류에 대한 스택 추적 없음

Error: TypeError: Cannot read property 'length' of undefined

스택 트레이스. 이렇게하면 이러한 오류를 찾아내는 데 시간이 많이 소요되므로 jasmine-node의 대안을 찾고 있습니다.

jasmine-node에서 오류와 함께 전체 스택 추적을 출력하려면 어떻게합니까? --verbose 명령 행 플래그는이를 수행하지 않습니다.

+0

구현 사본과 함께 깨는 예제 코드를 게시 할 수 있다면 유용 할 것입니다. –

+0

문제는 스택 추적이 없기 때문에 게시 할 스 니펫이 너무 많은 코드가 있다는 것입니다. – Jake

+0

코드가 TDD 스타일 인 경우 중요한 코드 본문에 대한 정상적인 테스트가 있어야합니다. 이 경우 문제가되는 코드/테스트를 플러시 할 때까지 한 번에 테스트를 주석으로 처리 할 수 ​​있습니다. –

답변

4

재스민 노드 npm을 사용하지는 않았지만 이전에 이런 종류의 오류가 발생했습니다. 내 경험상, 테스트/impl의 범위를 벗어난 비동기 루프가 실패 할 때 이러한 종류의 오류가보고됩니다. ...

실행하기 전에이 코드를 추가하면됩니다.

process.on('uncaughtException',function(e) { 
    sys.log("Caught unhandled exception: " + e); 
    sys.log(" ---> : " + e.stack); 
}); 
7

자스민 노드의 --captureExceptions 옵션을 사용하면 전역 예외의 스택 추적을 출력 할 수 있습니다.

+1

나는 이것이 작동하지 않는다는 것을 발견했습니다. 나는 보통 Tape을 사용하는데, Jasmine은 비교 대상이 아닙니다. 심지어 Node의 주장이 내장되어있어 전체적으로 더 나은 작업을 수행합니다. – Jehan

+0

이 하나가 도와주세요. 감사! :) – rahmat