0
私は次の関数配列を解析すると、特定のアイテムを返すことがあります。保存変数
function fetchLogs(logs) {
var arr = logs.value;
var res = arr.reduce((a, b) => {
if (b.level === 'INFO') {
a.push(b.message.split(" ").pop().replace(/"/g, ""))
}
return a;
}, []);
console.log("function", res);
return res; // Is this return right?
}
機能を使用するには、ブラウザのログが(返さ取得することですブラウザAとブラウザB)、ログが一致するかどうかを確認します。
だからここに質問私のテストは、その
it('should return logs from browser B', function(done) {
browserB
.log('browser')
.then(function(logs) {
fetchLogs(logs);
done();
})
.catch(function(e) {
done(e);
})
});
のように見え、最後に私は、これらの配列に
it('should compare browser logs', function() {
expect(logsA).to.have.all.members(logsB);
});
を比較したい:私は、変数を保存することができますどのように
を関数から以前に宣言されたグローバル変数に返すl ogsB私はと呼びますfetchLogs(ログ)は機能しますか?私はここでコールバックや約束が必要ですか?
リターンで正常に機能するのでしょうか?私のために働いた
あなたが使用している場合、 'VAR fetchResult = fetchLogs();'その後、あなたは何を行うことができますVarのログを持っています。 (グローバルを設定したり、テストをトリガする関数のパラメータとして使用するなど)これが実際に何をしようとしていれば、戻り値は正しいでしょう。コードを見ると、おそらく2つの変数logsAとlogsBが必要ですこれらの関数はlogsAとlogsBを見ることができます。 – Shilly
@ Shilly魅力のように動作し、なぜ私はそれについて考えなかったのでしょうか? – mrks