4

我的控制器CreateResponse在请求对象上使用。所以为了测试我的控制器,我需要设置一个实例,HttpConfiguration因为HttpRequestMessage期望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 回答