如何为我的流星方法编写单元测试?
how can I write unit test to my meteor methods?
我发现它有点复杂,如果我在 /lib
文件夹中写我的 meteor methods
会更复杂,我想要从服务器测试文件夹测试我的方法(单元测试),但是存根 this.userId
以及在服务器端调试或显示日志并没有多大帮助。
我遇到了太多问题,我正在快速使用 mochajs,有人可以帮助我吗?有人知道如何将单位写入流星方法吗?
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);
});
取自此处:https://github.com/xolvio/Letterpress/blob/master/tests/jasmine/server/unit/chaptersSpec.js#L3
我发现它有点复杂,如果我在 /lib
文件夹中写我的 meteor methods
会更复杂,我想要从服务器测试文件夹测试我的方法(单元测试),但是存根 this.userId
以及在服务器端调试或显示日志并没有多大帮助。
我遇到了太多问题,我正在快速使用 mochajs,有人可以帮助我吗?有人知道如何将单位写入流星方法吗?
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);
});
取自此处:https://github.com/xolvio/Letterpress/blob/master/tests/jasmine/server/unit/chaptersSpec.js#L3