1

为了执行我的集成测试,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 () {
              ...

我的问题是:有没有办法让 mocha 等待某种状态,或者我必须模拟环境(这会破坏集成测试的目的)?

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

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

谢谢您的支持

4

1 回答 1

0

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

于 2015-12-12T18:21:46.373 回答