2011-05-24 2 views
2

J'apprends à utiliser sinon avec nodeunit, spécifiquement pour faire des moqueries. Le recommended approach doit utiliser sinon-nodeunit. Selon the documentation, les fonctions doivent être disponibles via la méthode mock du paramètre test pour chaque fonction de test.Utilisation de sinon mocks avec nodeunit

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(); 
}; 

- Je reçois ceci:

$ nodeunit test/test-sinon-nodeunit.js 

test-sinon-nodeunit.js 
✖ test sinon-nodeunit 

TypeError: Object #<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 des deux sinon (1.1.1) et sinon-nodeunit (0.1.2) via npm install.

Répondre

2

require.path a été éliminé dans le noeud 0.5.x et supérieur, qui utilise sinon-nodeunit. Christian Johansen vient de pousser un changement de sinon-nodeunit qui devrait être compatible avec le noeud 0.6.2 (et 0.5.x-series) qui devrait le réparer ... Il est déjà disponible sur la page github sinon-nodeunits, mais n'a pas encore atteint npm. ..

mise à jour: il convient de mentionner que nodeunit-a sinon été abandonnée, comme le créateur est plein concentré sur BusterJS qui à mon humble avis est un cadre beaucoup mieux.