007
返回对象的深层副本,其中所有函数都转换为间谍。
安装
安装与 npm:
npm install 007
例子
// we want to test github
var github = require('github');
var doubleOhSeven = require('007');
var mockGithub = doubleOhSeven(github);
mockGithub.pullRequests.getCommits.returns = function () {
return {
foo: 'beep'
};
};
assert(mockGithub.pullRequests.getCommits('lalala').foo === 'beep');
assert(mockGithub.pullRequests.getCommits.callCount === 1);
API
doubleOhSeven()
接受一个对象或函数作为参数,返回与原始函数或对象匹配的函数或对象,但带有模拟出的函数。
mockFn.implementation
模拟函数的实现。
集 =:
例:
mockFn.implementation = function (val, cb) {
return cb(val + 1);
};
以下函数是用于实现的辅助函数;使用它们将覆盖 mockFn.implementation.
mockFn.returns()
模拟的返回值。
例:
mockFn.returns('foo');
mockFn(function (arg) {
console.log(arg); // outputs 'foo'
});
mockFn.callbackArgs
mock将调用的回调参数。
例:
mockFn.callbackArgs(['foo']);
mockFn(function (arg) {
console.log(arg); // outputs 'foo'
});
许可证
麻省理工学院