Unit testing 如何为meteor方法编写单元测试?

Unit testing 如何为meteor方法编写单元测试?,unit-testing,meteor,mocha.js,server-side,meteor-velocity,Unit Testing,Meteor,Mocha.js,Server Side,Meteor Velocity,我发现这有点复杂,如果我在/lib文件夹中编写我的meteor方法,我想从服务器测试文件夹中测试我的方法(单元测试),但stub这个。userId以及在服务器端调试或显示日志也没有太大帮助 我有太多的问题,我正在使用mochajs和velocity,有人能帮我吗?有人知道如何将单元写入meteor方法吗?Mocha不支持单元测试,目前只有Jasmine支持。这是一个如何用Jasmine为服务器编写单元测试并使用userId的示例 it("should return premium conte

我发现这有点复杂,如果我在
/lib
文件夹中编写我的
meteor方法,我想从服务器测试文件夹中测试我的方法(单元测试),但stub
这个。userId
以及在服务器端调试或显示日志也没有太大帮助


我有太多的问题,我正在使用mochajs和velocity,有人能帮我吗?有人知道如何将单元写入meteor方法吗?

Mocha不支持单元测试,目前只有Jasmine支持。这是一个如何用Jasmine为服务器编写单元测试并使用userId的示例

  it("should return premium content to logged in users", function () {

// SETUP
var thisContext = {
  userId : true
};

var expectedCursor = 'chapter_cursor1';
var _query = true, _modifiers = true;
Chapters.find = function(query, modifiers) {
  _query = query;
  _modifiers = modifiers;
  return expectedCursor;
};

// EXECUTE
var actualCursor = Meteor.publishFunctions['chapters'].apply(thisContext);

// VERIFY
expect(actualCursor).toBe(expectedCursor);
expect(_query).toBe(undefined);
expect(_modifiers).toBe(undefined);
}))


摘自此处:

参见讨论。可能你需要的是
callInContext
,但我不确定。非常感谢David,在你提供的Meteor测试手册的链接中有太多有用的信息,这个Meteor.publishFunctions['chapters'].apply(这个上下文);仅适用于发布功能????对于meteor方法,这里有一个很好的例子,meteor.methodMap.serverMethod.call(thisContext),链接已失效,meteor.publishFunctions在我的meteor 1.2.1服务器端未定义