我正在学习使用 sinon 与nodeunit https://github.com/caolan/nodeunit,专门做嘲笑。这推荐方法 http://sinonjs.org/nodeunit/是使用正节点单元 https://github.com/cjohansen/sinon-nodeunit。根据文档 http://sinonjs.org/nodeunit/#mocks,模拟应该可以通过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
.
require.path 在节点 0.5.x 及更高版本中被删除,这是 sinon-nodeunit 使用的。 Christian Johansen 刚刚推动了 sinon-nodeunit 的一项更改,该更改应该与 Node 0.6.2(和 0.5.x-series)兼容,这应该可以解决这个问题...它已经在 sinon-nodeunits github 页面上可用,但仍然没有到达 npm。 ..
更新:应该提到的是,sinon-nodeunit 已经停产,因为创建者完全专注于 BusterJS,恕我直言,这是一个更好的框架。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)