如何在Velocity集成测试中等待用户登录

时间:2015-01-29 16:41:13

标签: meteor meteor-velocity

为了执行我的集成测试,必须执行Meteor.loginWithPassword(...的回调。

如果我推迟测试直到用户存在,或者定义了一些Session变量,则忽略测试。

这是我的登录功能:

  Meteor.loginWithPassword(username, forge.util.encode64(aesKey), function(error) {
     if(!error) {
        Log.info("user loged in");
        Session.set("loggedIn", true);
     ...         
  })

然后在摩卡测试中:

  Meteor.startup(function () {
     Tracker.autorun(function (c) {
        if (Session.get("loggedIn")) {
           c.stop();
           MochaWeb.testOnly(function () {
              Log.info("executing tests");
              describe("the KeyPair has been created", function () {
              ...

我的问题是:有没有办法让摩卡等待一些状态,或者我是否必须嘲笑环境(这会破坏集成测试的目的)?

此外,在代码更改时,我收到以下错误:

stream error Network error: ws://localhost:51366/websocket: connect ECONNREFUSED

感谢您的支持

1 个答案:

答案 0 :(得分:0)

@stubailo指出的功能请求现已实现。有关详细信息,请参阅https://github.com/meteor/meteor/issues/3572