Maison >interface Web >js tutoriel >Mon parcours d'apprentissage Node.js (4) - Unit testing_node.js
Installer via NPM :
npm install nodeunit -g
Prise en charge de la ligne de commande, du fonctionnement du navigateur. La modularisation sous node.js est destinée aux exportations de méthodes. S'il s'agit d'un module.exports d'exportation d'objets, le module est la base des tests unitaires. Regardez le code node.js suivant :
.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 est un fichier de variable globale locale. Nous utilisons maintenant NodeUnit pour tester le code node.js pour le code ci-dessus :
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 est aussi ce que nous appelons habituellement des assertions. Pour le programme de tests unitaires de NodeUnit, vous pouvez également utiliser node-inspector pour déboguer