プロジェクトをテストするために Meteor で Cucumber (xolvio:cucumber@0.20.2_1) を使い始めたばかりですが、ステップ定義内で作成した Meteor.methods スタブから値を返すのに苦労しています。
register-user.js
this.When(/^he clicks the verification link in his email$/, function () {
console.log(this.server.call('_getUser'));
});
registration.js
Meteor.methods({
_getUser: function() {
return Meteor.users.findOne({'emails.address': 'anyemail@email.com'});
});
ログは、システムの状態のように見える巨大なオブジェクトを出力します。私は他の場所で誰かが提案したことに気づきました
this.server.call('aMethod').then(function(response) {
// you can use the response here
});
しかし、私のプロジェクトでこれを行うと、cucumber logs Object [object Object] has no method 'then'
.
Meteor.users.findOne({'emails.address': anemail@email.com});
ステップ定義内でも試しましたが、エラーが発生していますMeteor is not defined
ヘルプやガイダンスをいただければ幸いです。
編集_getUser
巨大なオブジェクトをログに記録していたとき、それは Meteor メソッドが何も返さなかっ
たことが原因であることに気付きました。その後Meteor.users.find({}).fetch()
、流星キュウリのコレクションにユーザーがいたにもかかわらず、空の配列が返されました。これは、私が経験している別の問題です。