2

特にモッキングを行うために、 nodeunitでsinon を使用することを学んでいます。推奨されるアプローチは、sinon-nodeunitを使用することです。documentationによると、モックは各テスト関数mockのパラメーターのメソッドを介して利用できるはずです。test

ただし、これは機能しないようです。nodeunit以下を含むファイルで 実行すると —</p>

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た。

4

1 に答える 1

2

require.path は、sinon-nodeunit が使用するノード 0.5.x 以降で削除されました。Christian Johansen は、ノード 0.6.2 (および 0.5.x シリーズ) と互換性があるはずの sinon-nodeunit の変更をプッシュしました。 ..

更新: 作成者は、私見がはるかに優れたフレームワークである BusterJS に完全に集中しているため、sinon-nodeunit が廃止されたことに言及する必要があります。

于 2011-11-23T12:13:18.670 に答える