Meteor.js异步帮助:在服务器上设置测试数据

时间:2015-04-24 18:14:19

标签: javascript asynchronous meteor velocity

我试图为我的环境设置一些测试数据,这些测试数据使用Velocity以及Cucumber和Jasmine。

我尝试做一些非常正常的事情 - 预先在数据库中设置一些测试数据。

我遇到了一些似乎与Meteor中的异步行为有关的问题。我以前习惯使用Promises,但它们似乎不是这个平台上的一个选项。

我想:

  • 创建用户
  • 对该用户进行查找
  • console.log查找结果

以下是tests/cucumber/features

中我的fixture文件中的一些代码
  // make a user - it correctly writes to my cucumber db
  Meteor.wrapAsync(
    Accounts.createUser({
      email: "harry@example.com",
      password: "password"
    })
  )

  // Do a find for that user
  var theUser = Meteor.wrapAsync(Meteor.users.findOne({emails: {$elemMatch: {address: "harry@example.com"}}}))

  // log out that user. The console returns `[Function]` rather than the result of the find. How do I get the result of the find?
  console.log(theUser)

1 个答案:

答案 0 :(得分:1)

好的,找到了答案。也许这会帮助别人。 find 并不需要包含在handlers