且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

模拟HttpContext来对.NET核心MVC控制器进行单元测试?

更新时间:2023-02-17 13:20:22

我能够通过以下方式初始化httpcontext和标头:

I was able to initialize the httpcontext and header in this way:

[TestMethod]
public void TestValuesController()
{
    ValuesController controller = new ValuesController();
    controller.ControllerContext = new ControllerContext();
    controller.ControllerContext.HttpContext = new DefaultHttpContext();
    controller.ControllerContext.HttpContext.Request.Headers["device-id"] = "20317";
    var result = controller.Get();
    //the controller correctly receives the http header key value pair device-id:20317
    ...
}