BAS*_*SKA 2 c# asp.net unit-testing xunit asp.net-core
我有一个 asp .net 核心项目,实际上在我们使用 session 的每个操作中,我的问题是如果我没有 sessionRepository 如何测试它。控制器测试崩溃,因为控制器中的会话为空。我尝试 Moq IHttpContextAcessor 并且它也不起作用。
我试试这个:
HttpContext.Current = new HttpContext(new HttpRequest(null, "http://tempuri.org", null), new HttpResponse(null));
Run Code Online (Sandbox Code Playgroud)
但 HttpContext 不包含 Current 的定义。(使用 Microsoft.AspNetCore.Http;)
有没有办法对使用 HttpContext 和会话的最小起订量或测试控制器进行测试?
您可以使用ControllerContext将上下文设置为 DefaultHttpContext,您可以根据需要对其进行修改。
var ctx = new ControllerContext() { HttpContext = new DefaultHttpContext()};
var tested = new MyCtrl();
tested.ControllerContext = ctx;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4011 次 |
| 最近记录: |