Использование Sinon издевается с узлом - PullRequest
2 голосов
/ 24 мая 2011

Я учусь использовать sinon с nodeunit , специально для насмешек. рекомендуемый подход заключается в использовании sinon-nodeunit . Согласно документации , макеты должны быть доступны методом mock параметра test для каждой тестовой функции.

Однако, похоже, это не работает. Если я запускаю nodeunit для файла, содержащего следующее -

require('sinon-nodeunit');

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

- Я получаю это:

$ 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)

Я установил текущие версии sinon (1.1.1) и sinon-nodeunit (0.1.2) через npm install.

1 Ответ

2 голосов
/ 23 ноября 2011

require.path был удален в узле 0.5.x и выше, который использует sinon-nodeunit.Кристиан Йохансен только что выдвинул изменение в sinon-nodeunit, которое должно быть совместимо с узлом 0.6.2 (и серией 0.5.x), что должно это исправить ... Это уже доступно на странице github sinon-nodeunits, хотя пока не достигло npm...

update: следует упомянуть, что sinon-nodeunit был прекращен, так как создатель полностью сфокусирован на BusterJS, который, IMHO, является гораздо лучшей инфраструктурой.

...