Maison >interface Web >js tutoriel >Mon parcours d'apprentissage Node.js (4) - Unit testing_node.js

Mon parcours d'apprentissage Node.js (4) - Unit testing_node.js

WBOY
WBOYoriginal
2016-05-16 16:42:341220parcourir

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 &#63; (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

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn