非同期プロセスが mongo に書き込んだ内容を検証するテストを書いていますが、レコードが含まれていることを確認する should.include に問題があります。簡単にするために、私のプロジェクションには 1 つのフィールド (ag_status) のみが含まれており、should から次のエラーが表示されます。
1) Agriculture record should return at least one record with ag_status to true:
Uncaught AssertionError: expected [ { ag_status: true },
{ ag_status: true },
{ ag_status: true },
{ ag_status: true },
{ ag_status: true },
{ ag_status: true } ] to include an object equal to { ag_status: true }
should.include を呼び出すコードのセクションを次に示します。chai、chai-fuzzy、chai-things を試しましたが、どれもうまくいきませんでした (そして、必要なほど詳細なメッセージが表示されません)。どんな助けでも大歓迎です。
it('Agriculture record should return at least one record with ag_status to true', function(done){
MobAgriculture.model.find({ time_id: "AYearAgo" }, {_id: 0, ag_status: 1 }, function(err, result) {
should.not.exist(err);
should.exist(result);
result.should.have.length(6);
console.log(result);
var level2 = { "ag_status" : true };
result.should.include(level2);
done();
});
});