流星创建用户进行集成测试



我有一些服务器方法需要登录用户。简单地说:

'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"}
  });

你可以用它来测试是否有用户。

相关内容

最新更新