私は、Mochaテストの途中でFacebook APIの応答を待つ約束をしています。私はなぜexpect
関数が実際にデータが応答に含まれていることをチェックしていないのだろうと思っています。テスト機能が無効
コンソールにresolve
が表示され、グラフ呼び出しと約束が解決されたが、イベントにはexpect(data).to.include
ステートメントのランダムデータが含まれていなくてもテストに合格することが示唆されます。約束が解決したら、どのように応答をテストすることができますか?
var promise = new Promise(function(resolve, reject) {
var eventFB1 = graph.get('132166232459578/posts',
{limit: 1,
access_token: 't0k3n'
});
if (typeof eventFB1 !== 'undefined') {
resolve(eventFB1);
console.log('resolve');
}
else {
reject(Error("It broke"));
console.log('reject');
}
});
return promise.then(function(data) {
expect(data).to.include('Event name: Testing London eveng 23498723rstni');
console.log(data);
});
これはドキュメントに記載されています。 –
多くのものはドキュメントでカバーされていますが、誰にも分かりませんので、ここでサポートを求めています。それは有効なアプローチではありませんか?興味深いことに、私のために働くことが判明した答えは、以下のように誤っているようです:http://mochajs.org "Mocha v3.0.0以降では、Promiseを返してdone()呼び出し「 – KindOfGuy
私は侮辱するつもりはありませんが、「非同期コード」はドキュメントの目次の**第4エントリです**。それはホームページの折りたたみのすぐ下にあります。ドキュメントの最も慎重な点検はそれを捕らえていたはずです。あなたがgoogle 'mocha非同期テスト'ならポップアップする優れたものはもちろんのこと、私は時には明白なものについてもここで尋ねましたが、少なくとも、「おっと、私の悪い」と言う猶予があります。 –