私のテストでは、タイプの結果があり、そのプロパティが正しいオブジェクトに設定され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
、ベースのアサーションではなく、キャストされたオブジェクトの流暢なアサーションを返すものでしょうか?