如何对Web Api 2 HttpModule进行单元测试?该模块检查特定的HTTP标头。
我尝试了以下代码,但它并没有启动HttpModule。
var logger = new Mock<ILogger>();
var controller = new FeaturesV1Controller(logger.Object);
var controllerContext = new HttpControllerContext();
var request = new HttpRequestMessage();
request.Headers.Add("X-My-Header", "success");
controllerContext.Request = request;
controller.ControllerContext = controllerContext;
// Act
var result = controller.Get(11);
我已经验证了真正的来电,HttpModule会被调用。
答案 0 :(得分:0)
您可以找到有关如何对HttpModule here进行单元测试的信息。
替代方法可能是不测试模块本身,而是将要测试的代码移出到另一个类。通过在请求中注入内容而不是测试代码,您正在测试框架。除非你想要测试,否则我建议你从HttpModule中移出代码。