2013-08-12 6 views
4

2 년 전 Expresso, Vows 및 Mocha가 node.js의 단위 테스트에 적합한 옵션 인 StackOverflow에서 보았습니다. 나는 최근의 질문을 더 이상 찾지 못했다.Node.js unit testing (2013 년)

+0

이러한 유형의 질문은 [SO 오프 주제로 간주됩니다] 이유의 큰 부분은 "지금 대해 * 어떻게 *"물어 갖는 (http://stackoverflow.com/help/dont-ask) . 그들은 주로 독단적 인 대답을 이끌어 내고 쉽게 구식이 될 수 있습니다. –

+0

가능성 목록을 찾고 있다면 Node.js에 모듈의 위키 페이지가 있습니다. https://github.com/joyent/node/wiki/modules#testing--spec-frameworks –

답변

2

모카는 가장 보편적 인 단위 테스트 프레임 워크이지만 오류 매개 변수가 오류 개체 여야하기 때문에 나는별로 좋아하지 않습니다. 예를 들어 오류 배열을 전달할 수 없습니다. 탭하고 should.js도 꽤 좋다.

이 프레임 워크의 모든 기능이 필요하지 않은 경우 기본 제공 assert 모듈을 사용하여 직접 만들 수 있습니다. 의존성이 없으며 비대화 된 코드가없고 단지 몇 줄 밖에 없습니다.

var tests = { 
    "description 1": function (done){ 
     testSomethingAsync (function (error){ 
      assert.ifError (error); 

      //assert other things 

      done(); 
     }); 
    }, 
    "description 2": function(){ 
     var res = testSomethingSync(); 
     //assert other things 
    } 
}; 

var keys = Object.keys (tests); 
var keysLength = keys.length; 

(function again (i){ 
    if (i<keysLength){ 
     var fn = tests[keys[i]]; 
     if (fn.length){ 
      fn (function(){ 
       again (i + 1); 
      }); 
     }else{ 
      fn(); 
      again (i + 1); 
     } 
    } 
})(0); 
+0

모카도 사용했습니다. 나는 행동 주장 주도 대신에 "should"를 사용하는 행동 주도 개발 접근법을 좋아했다. 제 생각에는 응용 프로그램을 테스트하는 더 좋은 방법입니다. – Endymion

+0

test-studio는 유닛 테스트를위한 강력한 웹 기반 프론트 엔드를 제공하는 npm 패키지입니다. 개별 또는 테스트 그룹을 실행하고 노드 검사기를 개별 테스트로 스테핑하는 것과 같은 작업을 지원합니다. https://www.npmjs.org/package/test-studio 및 http://www.danderson00.com/2014/05/test-studio-unit-testing-for-nodejs-how에서 자세한 내용을 읽어보십시오. .html. –