我正在尝试在我的 Meteor 应用程序中对方法进行单元测试。我的简单方法如下所示:
function hello(arg, cb) {
console.log('-=> arg: ' + arg);
seTimeout(function() {
cb(null, 'hello! ' + arg);
}, 3000);
}
我的测试是
it('should say hello', function () {
var syncHello = Meteor.wrapAsync(hello);
console.log(JSON.stringify('-=> async hello: ' + hello));
console.log(JSON.stringify('-=> sync hello: ' + syncHello));
var resp = syncHello('joe');
expect(resp).toEqual('hello! joe')
})
但是当我运行测试时,它失败了,因为syncHello is undefined
. 如果我知道在单元测试时返回 undefined 的原因Meteor.wrapAsync
并帮助我同步运行此函数,那将非常有帮助。