NPM을 통해 설치:
npm install nodeunit -g
명령줄, 브라우저 작업을 지원합니다. node.js에서의 모듈화는 메소드 내보내기를 위한 것입니다. 객체 내보내기 module.exports인 경우 모듈은 단위 테스트의 기초가 됩니다.
var fs = require('fs'), global=require('./global.js'); var utils = { startWith: function(s1, s) { if (s == null || s == "" || this.length == 0 || s.length > this.length) return false; if (s1.substr(0, s.length) == s) return true; else return false; return true; }, /* Generate GUID */ getGuid: function() { var guid = ""; for (var i = 1; i <= 32; i++) { var n = Math.floor(Math.random() * 16.0).toString(16); guid += n; } return guid; }, /* add log information */ writeLog: function(log) { if(!log) return; var text = fs.readFileSync(global.logFile, "utf-8"), _newLog = text ? (text + "\r\n" + log) : log; fs.writeFile(global.logFile, _newLog, function(err){ if(err) throw err; }); } }; exports.utils=utils;
./global.js는 로컬 전역 변수 파일입니다. 이제 NodeUnit을 사용하여 위 코드에 대한 node.js 코드를 테스트합니다.
var utils=new require('./utils.js'); this.TestForUtils = { 'TestgetGuid': function (test) { var guid=utils.utils.getGuid(); test.ok(!!guid, 'getGuid should not be null.'); test.done(); }, 'TestWritelog': function (test) { var flag=false; utils.utils.writeLog("test message"); flag=true; test.ok(flag,'writeLog'); test.done(); }, 'TestStartWithWords': function (test) { var name="ad_123"; test.ok(utils.utils.startWith(name, "ad_"),"startwith method should be ok"); test.done(); } };
test.ok는 우리가 일반적으로 주장이라고 부르는 것이기도 합니다. NodeUnit의 단위 테스트 프로그램의 경우 node-inspector를 사용하여 디버깅할 수도 있습니다