HttpContext 为“null” MSTest 执行期间

发布于 2025-01-16 07:23:04 字数 93 浏览 0 评论 0原文

对于我的程序,它需要存在 httpContext,但是在 MSTest 期间,这些值设置为“null”。

有什么方法可以向 httpContext 提供值吗?

For my program, it requires httpContext to be present, but, during MSTest, the values is set to "null".

Is there any way to provide the value to httpContext?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

农村范ル 2025-01-23 07:23:04

我尝试了各种方法,在不更改主控制器的情况下,工作方法是这样的:

public void Test_Method()
{
 var httpContext = new DefaultHttpContext(); var stream = new
 MemoryStream(Encoding.UTF8.GetBytes(""));           
 httpContext.Request.Body = stream; httpContext.Request.ContentLength =
 stream.Length; ControllerName controller = new() {
        ControllerContext = new ControllerContext()
        {
         HttpContext = httpContext
        } };
}

添加额外的命名空间包:

using System.IO; 
using Microsoft.AspNetCore.Http;
using System.Text;

I was trying various methods, and the working method, without changes to the main controller was this:

public void Test_Method()
{
 var httpContext = new DefaultHttpContext(); var stream = new
 MemoryStream(Encoding.UTF8.GetBytes(""));           
 httpContext.Request.Body = stream; httpContext.Request.ContentLength =
 stream.Length; ControllerName controller = new() {
        ControllerContext = new ControllerContext()
        {
         HttpContext = httpContext
        } };
}

Add the additional namespace packages:

using System.IO; 
using Microsoft.AspNetCore.Http;
using System.Text;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文