如何在 xUnit 中设置 cookie

How to set cookie in xUnit

下面是我控制器中的方法,

public IActionResult Cookiewrite(string key, string value)
{
    CookieOptions options = new CookieOptions();
    options.Expires = DateTime.Now.AddHours(1);
    HttpContext.Response.Cookies.Append(key, value, options);
    return View("Cookiewrite");
}

我正在尝试使用 xUnit 进行测试,如下所示。

 [Fact]
 public void CookieWriteTest()
 {
     string key = "xxxx";
     string value = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
      
     var result = homeController.Cookiewrite(key, value);
  }

但问题是我在设置 cookie 时收到空错误(Microsoft.AspNetCore.Mvc.ControllerBase.HttpContext.get 返回空。)。谁能帮我解决这个问题。因为我是 xUnit 的新手。

更改如下:

[Fact]
public void Test1()
{
    var controller = new HomeController();

    //be sure add this...
    controller.ControllerContext.HttpContext = new DefaultHttpContext();

    string key = "xxxxxx";
    string value = "xxxxxxxx";
    var result = controller.Cookiewrite(key, value);
}