JS オブジェクトを発行するオブザーバブルがあり、テストで、私が行ったオブザーバブル変換が正しい JS オブジェクトを生成することをアサートしたいと考えています。問題は、rx.js が使用しているアサーションの種類を理解していないことです。失敗するはずのテストが合格しているためです。
たとえば、サンプル ディレクトリのテストに基づいてこのテストを失敗させたいのですが、失敗しません。{ prop: 42 }
生成された値はであり、期待される値は であることに注意してください{ prop: 43 }
。
test('returnValue Basic', function () {
var scheduler = new TestScheduler();
var results = scheduler.startWithCreate(function () {
return Observable.returnValue({ prop: 42 }, scheduler);
});
var expectedMessages = [
onNext(201, { prop: 43 }),
onCompleted(201)
];
CollectionAssert.assertEqual(expectedMessages, results.messages);
});
誰が問題を知っていますか?どうすれば回避できますか? JavaScript でのオブジェクトの等価性は理解できましたが、それは次のステップです。上記のテストから、rx.js が参照の等価性も構造の等価性も使用していないことは明らかです。