私のテストでは、タイプの結果があり、そのプロパティが正しいオブジェクトに設定されHttpRequestMessageていることをアサートする必要があります。Content
問題は、HttpRequestMessage.Content比較したいオブジェクトとは異なる (ベース) タイプを持ち、次のように ShouldBeEquivalentTo と Inclusive を使用できないことです。
HttpRequestMessage result = ...
result.Content.ShouldBeEquivalentTo (new ObjectContent (obj.GetType (), obj, new JsonMediaTypeFormatter ()),
options => options.Including (x => x.Value));
HttpContentオプションは Content プロパティ タイプ ( )で機能し、 では機能しないため、これはコンパイルされませんObjectContent。
私が見つけた唯一の方法は、次のような2つのアサーションを持つことです:
result.Should ().BeOfType<ObjectContent> ();
((ObjectContent) result.Content).ShouldBeEquivalentTo (new ObjectContent (obj.GetType (), obj, new JsonMediaTypeFormatter ()),
options => options.Including (x => x.Value));
それを行うより良い方法はありますか?おそらくBeOfType、ベースのアサーションではなく、キャストされたオブジェクトの流暢なアサーションを返すものでしょうか?