Xolvio / meteor-cucumber:返回this.server.call的结果

时间:2015-07-10 08:17:00

标签: meteor cucumberjs

我正在使用包Xolvio/meteor-cucumber,我正在尝试调用fixture方法并在步骤定义中使用其返回值:

步骤:

  

我填写了短信代码“#smsCodeVerification”

步骤定义:

this.Then(/^I fill in the sms code "([^"]*)"$/, function (verificationField, callback) {
      var code = this.server.call('getSmsCodeForUser', "+467*******");
      console.log("step code: " + code);

      this.client
        .waitForExist(verificationField, 4000)
        .waitForVisible(verificationField, 2000)
        .setValue(verificationField, code)
        .call(callback);
    });

以上代码打印:

  

步骤代码:[对象承诺]

服务器方法如下所示:

'getSmsCodeForUser': function (tel) {
      var user = User.findOne({ phone: tel }),
        password = Password.findOne({ user: user._id }),
        code = parseInt(password.code);

      return code;
    }

步骤定义中的控制台日志将在服务器方法完成之前运行,并且使用流星从服务器方法获取回调的常规方法将不起作用,它将仅返回undefined。

1 个答案:

答案 0 :(得分:1)

this.server.call('getSmsCodeForUser', "+467*******").then(function(resopnse) {

    // you can use the response here

});