4

私のコントローラーはCreateResponseリクエストオブジェクトを利用します。したがって、コントローラをテストするには、 のインスタンスを設定する必要HttpConfigurationHttpRequestMessageありCreateResponseます。

今日では、テストを支援するために、あらゆる種類のプロパティのセッターがありますが、メソッドHttpRequestMessageのみがあり、明確なセッターはありません。GetConfiguration

どうすればいいですか?

4

1 に答える 1

11

次のコードを使用します。

...

ThingController controller = new ThingController(... dependencies ...);

// Fake the configuration.
//
var httpConfig = new HttpConfiguration();
controller.Configuration = httpConfig;

// Fake the request.
//
var httpRequest = new HttpRequestMessage(HttpMethod.Get, "http://mstest/things/1");
httpRequest.Properties[HttpPropertyKeys.HttpConfigurationKey] = httpConfig;

controller.Request = httpRequest;

下から2番目の行に注意してください。こっそり。

于 2013-08-21T14:19:04.517 に答える