开发者

Using sinon mocks with nodeunit

开发者 https://www.devze.com 2023-03-08 08:27 出处:网络
I\'m learning to use sinon with nodeunit, specifically to do mocking.The recommended approach is to use sinon-nodeunit.According to the documentation, mocks should be available via the mock method of

I'm learning to use sinon with nodeunit, specifically to do mocking. The recommended approach is to use sinon-nodeunit. According to the documentation, mocks should be available via the mock method of the test parameter to each test function.

However, this doesn't seem to work. If I run nodeunit on a file containing the following —

require('sinon-nodeunit');

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

— I get this:

$ nodeunit test/test-sinon-nodeunit.js 
开发者_StackOverflow
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)

I've installed current versions of both sinon (1.1.1) and sinon-nodeunit (0.1.2) via npm install.


require.path was removed in node 0.5.x and higher, which sinon-nodeunit uses. Christian Johansen just pushed a change in sinon-nodeunit which should be compatible with node 0.6.2 (and 0.5.x-series) which should fix this... It's already available on sinon-nodeunits github page, still hasnt hit npm though...

update: should be mentioned that sinon-nodeunit has been discontinued, as the creator is full focused on BusterJS which IMHO is a much better framework.

0

精彩评论

暂无评论...
验证码 换一张
取 消