当前位置: 首页 > news >正文

济宁北湖旅游度假区建设局网站米拓模板网站建设

济宁北湖旅游度假区建设局网站,米拓模板网站建设,关于企业网站建设,国外搜索引擎优化正常情况下,中间件会在主程序入口统一进行实例化,这样如果想单独测试某一个中间件就很不方便,为了能测试单个中间件,可以使用 TestServer 单独测试。 这样便可以: 实例化只包含需要测试的组件的应用管道。发送自定义请…

        正常情况下,中间件会在主程序入口统一进行实例化,这样如果想单独测试某一个中间件就很不方便,为了能测试单个中间件,可以使用 TestServer 单独测试。 这样便可以:

  • 实例化只包含需要测试的组件的应用管道。
  • 发送自定义请求以验证中间件行为。

这样测试的优点:

  • 请求会发送到内存中,而不是通过网络进行序列化。
  • 这样可以避免产生额外的问题,例如端口管理和 HTTPS 证书。
  • 中间件中的异常可以直接流回调用测试。
  • 可以直接在测试中自定义服务器数据结构,如 HttpContext。

设置 TestServer

在测试项目中,创建测试:

  • 生成并启动使用 TestServer 的主机。

  • 添加中间件使用的任何所需服务。

  • 为 Microsoft.AspNetCore.TestHost NuGet 包添加对项目的包引用。

  • 将处理管道配置为使用中间件进行测试。

我这写了一个简单的测试代码:

测试类:

public class UnitTest1
{[Fact]public async Task MiddlewareTest(){using var host = await new HostBuilder().ConfigureWebHost(webBuilder =>{webBuilder.UseTestServer().ConfigureServices(services =>{services.AddRouting();}).Configure(app =>{app.UseRouting();app.UseMiddleware<MyMiddleware>();app.UseEndpoints(endpoints =>{endpoints.MapGet("/hello", () =>"Hello Tests");});});}).StartAsync();var client = host.GetTestClient();var response = await client.GetAsync("/hello");Assert.True(response.IsSuccessStatusCode);var responseBody = await response.Content.ReadAsStringAsync();Assert.Equal("Hello Tests", responseBody);}
}

自定义的 MyMiddleware 代码如下:

public class MyMiddleware
{private readonly RequestDelegate _next;//请求委托:用于生成请求管道public MyMiddleware(ILogger<MyMiddleware> logger, RequestDelegate next){_next = next;}public Task InvokeAsync(HttpContext context){//context.Response.StatusCode = (int)HttpStatusCode.Found;// 调用下一个中间件return _next(context);}
}

 运行测试:

测试通过:

接下来我们通过MyMiddleware自定义中间件设置一下响应状态 StatusCode 为302:

再次调试测试一下:

可以看到 StatusCode: 302 ,测试没通过,证明自定义中间件是没问题的。 

http://www.yayakq.cn/news/920283/

相关文章:

  • html网站正在建设源码开天猫旗舰店网站建设
  • 做cpa必须要有网站吗深圳网站建设 设计首选
  • wordpress建站腾讯云加强心理咨询网站的建设
  • 本地wordpress站点上传宽带收费价格
  • 如何微信支付购物网站WordPress状态栏替换
  • wordpress切换主题无法显示刷seo关键词排名软件
  • 一个手机网站文化网站前置审批
  • 城市介绍网站模板济宁网站建设神华
  • 网站风格和色调网站建设栏目说明
  • wordpress谷歌收录网站优化简历模板
  • l兰州网站建设外卖网站的建设与推广
  • 有链接的网站怎么做网站辅助导航
  • 怎样建设尧都水果网站企业门户网站费用
  • 网站建设修饰商品福州哪里会网站制作的
  • 盐城市建设工程网站销售单页网站
  • 网站托管方案中国新闻最新消息
  • asp网站后台上传不了图片网页制作模板中学
  • 宁波 手机网站建设怎么用自己电脑做服务器发布网站
  • 微信网站前景wordpress小说插件
  • 建被采集的网站wordpress花生壳lamp
  • 男生女生做污事网站 localhost手机网站设计推荐
  • 网站备案怎么更改吗Wordpress用七牛云存储
  • 上海企业网站制作哪家专业wordpress换回原版编辑器
  • 邢台高端网站建设自动搜索关键词软件
  • 南昌做网站哪家好乐都企业网站建设
  • c#可以做网站吗深圳工程网站建设
  • 11108给换成119333做网站自己建网站需要怎么做
  • 网站gzip压缩枣阳网站建设
  • 做购物网站需要接口吗柳城企业网站开发公司
  • 西安网站关键词排名广东互联网产品推广技术