我有一些服务器方法需要登录用户。简单地说:
'myServerMethod': function () {
var user = Meteor.user();
if(!user) {
return null;
}
//do some action
}
现在,我想测试这个方法(Server Integration Test
)。我将如何为服务器测试创建用户?我正在使用Meteor with Velocity。
我在这些测试中使用这个函数(server/integration/lib/helpers.js
):
global.stubLoggedInUser = function (user) {
spyOn(Meteor, 'user').and.returnValue(user);
spyOn(Meteor, 'userId').and.returnValue(user._id);
spyOn(Meteor.users, 'findOne').and.returnValue(user);
};
这是一种测试是否有用户的方法,如果没有,它会创建一个:
if(Meteor.users.find().count() == 0) {
var id = Accounts.createUser({
email: "someemail",
password: "somepassword",
profile: { name: "someusername"}
});
你可以用它来测试是否有用户。