我的控制器CreateResponse
在请求对象上使用。所以为了测试我的控制器,我需要设置一个实例,HttpConfiguration
因为HttpRequestMessage
期望CreateResponse
这个配置在那里。
如今,为了帮助测试,有各种属性的设置器,但HttpRequestMessage
只有一个GetConfiguration
方法,没有明显的设置器。
我该怎么做呢?
我的控制器CreateResponse
在请求对象上使用。所以为了测试我的控制器,我需要设置一个实例,HttpConfiguration
因为HttpRequestMessage
期望CreateResponse
这个配置在那里。
如今,为了帮助测试,有各种属性的设置器,但HttpRequestMessage
只有一个GetConfiguration
方法,没有明显的设置器。
我该怎么做呢?
使用以下代码:
...
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 行。偷偷摸摸。