c# - 如何在 xUnit 中设置 cookie
问题描述
以下是我的控制器中的方法,
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);
}
推荐阅读
- javascript - 使用 jquery 更改事件后显示多个图像
- c# - 任何 OpenTK.Graphics.OpenGL4.GL 方法中的 System.AccessViolationException
- sql-server - Power BI 和 SQL Server 索引
- post - 如何仅使用 api 密钥发布到 pub/sub
- android - 带有复选框 clicklistener 的可扩展列表视图
- python - 无需循环即可获取多维数组点积的分量
- r - Shiny Apps 以代码 137 退出,日志中没有问题
- encoding - 未知的非二进制数据编码 - 任何提示?
- php - Laravel Curl 库 {message:authorization required}
- android - Proguard :- 混淆文件夹名称