Utiliser mock sinon avec nodeunit

J’apprends à utiliser sinon avec nodeunit , en particulier pour me moquer. L’ approche recommandée consiste à utiliser sinon-nodeunit . Selon la documentation , les mock devraient être disponibles via la méthode mock du paramètre de test pour chaque fonction de test.

Cependant, cela ne semble pas fonctionner. Si je lance nodeunit sur un fichier contenant les éléments suivants –

 require('sinon-nodeunit'); exports['test sinon-nodeunit'] = function (test) { mock = test.mock({}); test.done(); }; 

– J’ai compris:

 $ nodeunit test/test-sinon-nodeunit.js test-sinon-nodeunit.js ✖ test sinon-nodeunit TypeError: Object # has no method 'mock' at /home/malkovich/test/test-sinon-nodeunit.js:4:17 at Object.runTest (/usr/local/lib/node/.npm/nodeunit/0.5.1/package/lib/core.js:54:9) at /usr/local/lib/node/.npm/nodeunit/0.5.1/package/lib/core.js:90:21 at /usr/local/lib/node/.npm/nodeunit/0.5.1/package/deps/async.js:508:13 at /usr/local/lib/node/.npm/nodeunit/0.5.1/package/deps/async.js:118:13 at /usr/local/lib/node/.npm/nodeunit/0.5.1/package/deps/async.js:134:9 at /usr/local/lib/node/.npm/nodeunit/0.5.1/package/deps/async.js:507:9 at Object.concatSeries (/usr/local/lib/node/.npm/nodeunit/0.5.1/package/deps/async.js:147:23) at Object.runSuite (/usr/local/lib/node/.npm/nodeunit/0.5.1/package/lib/core.js:79:11) at Object.runModule (/usr/local/lib/node/.npm/nodeunit/0.5.1/package/lib/core.js:114:13) FAILURES: 1/1 assertions failed (84ms) 

J’ai installé les versions actuelles de sinon (1.1.1) et sinon-nodeunit (0.1.2) via npm install .

require.path a été supprimé dans les nœuds 0.5.x et supérieurs, utilisés par sinon-nodeunit. Christian Johansen vient de pousser un changement de sinon-nodeunit qui devrait être compatible avec le noeud 0.6.2 (et la série 0.5.x) qui devrait résoudre ce problème … Il est déjà disponible sur la page sinon-nodeunits github, n’a pas encore frappé npm. ..

update: il convient de mentionner que sinon-nodeunit a été arrêté, car le créateur est totalement concentré sur BusterJS, dont IMHO est un bien meilleur cadre.