私は、.netコアを使用してAPIを作成しています。 私のメソッドの1つは、新しいレコードを挿入するPOSTです。成功した応答は201 Createdを返します。 .netではヘルパーCreatedResultを使うことができます。ユニットテストUrl.netコアのリンク
return Created(new Uri(Url.Link("get_method", new { id = record.id })), record);
これは正しいLocationヘッダーが設定された201応答を返します。 Locationヘッダーは着信要求を使用して、ホスト名を使用してURLを構築します。
.net webapi2でユニットテストをすると、カスタムHttpRequestMessageを作成してホスト名を自分で設定することができました。今、これは新しい.netコアフレームワークでは消えたようです。
着信要求を模擬して、単体テストを行い、有効なLocationヘッダーを作成する方法を教えてください。
私はコントローラのHttpContextでHttpRequestを嘲笑する必要があると信じています。
UserController controller = new UserController();
controller.ControllerContext.HttpContext.Request = ?
このリクエストパラメータを模擬するにはどうすればよいですか?これは読み取り専用のプロパティです。