教育品牌网站建设南充建网站的资料

web/2025/10/3 6:06:29/文章来源:
教育品牌网站建设,南充建网站的资料,济南网站优化公司哪家好,昆明网站建设-中国互联在 Xunit 中使用依赖注入Intro之前写过一篇 xunit 的依赖注入相关的文章#xff0c;但是实际使用起来不是那么方便今天介绍一个基于xunit和微软依赖注入框架的“真正”的依赖注入使用方式 ——— Xunit.DependencyInjection, 来自大师的作品#xff0c;让你在测试代码里使用依… 在 Xunit 中使用依赖注入Intro之前写过一篇 xunit 的依赖注入相关的文章但是实际使用起来不是那么方便今天介绍一个基于xunit和微软依赖注入框架的“真正”的依赖注入使用方式 ——— Xunit.DependencyInjection, 来自大师的作品让你在测试代码里使用依赖注入像 asp.net core 一样轻松使用一览包引用在 xunit 测试项目里添加对 Xunit.DependencyInjection 的引用dotnet add package Xunit.DependencyInjection 新建自己的 Startup需要实现自己的一个 Startup 在 Startup 里进行服务注册和初始化// 这里需要指定一个 assembly attribute 用来让 xunit 寻找测试入口使用自定义的测试框架 // TestFramework 第一个参数是 Startup 类的 FullName包含命名空间第二个参数是测试项目的程序集名称 [assembly: TestFramework(XUnitDependencyInjectionSample.Startup, XUnitDependencyInjectionSample)]namespace XUnitDependencyInjectionSample {// Startup 需要继承于 DependencyInjectionTestFrameworkpublic class Startup : DependencyInjectionTestFramework{public Startup(IMessageSink messageSink) : base(messageSink){}// 重写 CreateHostBuilder 这个方法在这里进行配置注册和服务注册protected override IHostBuilder CreateHostBuilder(AssemblyName assemblyName){var hostBuilder base.CreateHostBuilder(assemblyName);hostBuilder// 注册配置.ConfigureAppConfiguration(builder {builder.AddInMemoryCollection(new Dictionarystring, string(){{UserName, Alice}}).AddJsonFile(appsettings.json);})// 注册自定义服务.ConfigureServices((context, services) {services.AddSingletonIIdGenerator, GuidIdGenerator();if (context.Configuration.GetAppSettingbool(XxxEnabled)){services.AddSingletonIUserIdProvider, EnvironmentUserIdProvider();}});return hostBuilder;}protected override void Configure(IServiceProvider provider){// 有一些测试数据需要初始化可以放在这里}} }CreateHostBuilder 其实就是 asp.net core 里的创建一个 HostBuilder 注册配置/服务和 asp.net core 里一模一样有数据或配置需要在项目启动时初始化的可以放在 Configure  方法做有点类似于 asp.net core 里 Startup 中的 Configure 方法只是这里我们不需要配置 asp.net core 的请求管道开始在测试代码里使用依赖注入吧上面的 Startup 配置好以后就可以在测试代码里尽情使用依赖注入了来看下面的两个示例首先我们可以测试一下内置的服务就拿 IConfiguration 来测试吧再来测试一下我们自定义注册的服务IOutputHelper 是 xunit 提供的可以在执行测试的时候输出一段文本使用 Console.WriteLine 是看不到输出的哦来看一下测试结果实现原理Xunit.DependencyInjection 是一个开源项目你可以在 Github 上获取到源码 https://github.com/pengweiqhca/Xunit.DependencyInjectionXunit.DependencyInjection 重写了一套基于 Microsoft.Extensions.DependencyInjection TestFramework使得测试执行可以支持依赖注入的方式在构建测试类时可以从注册的服务中获取构造器所需要的参数在构建测试方法的时候也可以通过指定 FromServices 来从注册的服务中获取对应的服务从而实现方法参数的注入重写的 xunit 的类如下从 5.0 版本开始直接依赖于 Microsoft.Extensions.Hosting使用通用主机来构建依赖注入测试框架这样使得我们更方便集成 Configuration 更像 asp.net core 的配置更简洁More大师写的项目真心不错但是大师太低调了写的很多很实用的项目携程的阿波罗的 dotnetcore 支持就是大师一直在维护大家快去 Github follow 他吧大师最近在写一个 NetCache 的开源项目一个缓存框架感兴趣的可以去看一下给大师提点 feature 项目地址https://github.com/pengweiqhca/NetCacheReferencehttps://github.com/pengweiqhca/Xunit.DependencyInjectionhttps://github.com/WeihanLi/SamplesInPractice/tree/master/XUnitDependencyInjectionSamplehttps://github.com/pengweiqhca/NetCache

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/86057.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

电子商务专业网站设计网站建设哪个公司做得好些

题目 给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。 计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额,返回 -1 。 你可以认为每种硬币的数量是无限的。…

涿州做软件和网站的手机网站设计规范

原文地址:http://www.uml.org.cn/zjjs/201309043.asp 架构设计则为满足架构需求的质量属性寻找适当的战术。对如何实现特定的质量属性感兴趣。质量需求指定了软件的响应,以实现业务目标。我们感兴趣的是设计使用设计模式、架构模式或架构策略创建设计的“…

新发地网站建设网页设计工资一般2017

背景 如果各位看官是分布式项目应该都采用分布式缓存了,例如redis等,分布式缓存不在本次讨论范围哈;我个人建议是,如果是用户量比较大,建议采用分布式缓存机制,后期可以很容易前后到分布式服务或微服务。 …

手机网站悬浮广告代码360弹出网站

1. 分布式架构:高防IP采用分布式架构部署,将流量均匀分散到多个服务器上进行处理,以达到承载大流量攻击的能力。这样可以减轻单个服务器的负载压力,提高抗攻击能力。 架构设计: - 前端负载均衡器:用于接…

婚纱摄影网站设计案例企业服务云

一、 Cookie和Session的发展史 一开始:只有一个页面,没有登录功能,大家看到东西都一样 新闻 时代发展,出现了需要登录注册的网站,要有一门技术存储我们的登录信息 京东、天猫 cookie 存储形式:k:v键值对 …

怎么提高网站的流量长沙网站推广服务公司

https://www.duote.com/tech/35/102713.html (二)Axure rp的线框图元件 l 图片 图片元件拖入编辑区后,可以通过双击选择本地磁盘中的图片,将图片载入到编辑区,axure会自动提示将大图片进行优化,以避免原型文件过大;选择图片时可以…

成都学校网站制作设计师网站登录入口

文章目录 四数之和题目描述示例 1示例 2提示解决方案1:【四层遍历查找】解决方案2:【哈希表】【三层遍历】 结束语 四数之和 四数之和 题目描述 给你一个由 n 个整数组成的数组 nums ,和一个目标值 target 。请你找出并返回满足下述全部条件…

网站角色管理系统如何开发电商网站

如下这是一个连接:https://s.tb.cn/c.0vDtL3https://s.tb.cn/c.0vDtL3 解决各种问题。可付费咨询

莱芜网站建设自助建站优化asp网站如何实现伪静态

平时阅读一些远吗分析类文章或是设计应用架构时没少与UML类图打交道。实际上,UML类图中最常用到的元素五分钟就能掌握,下面赶紧来一起认识一下它吧: 一、类的属性的表示方式 在UML类图中,类使用包含类名、属性(field) 和方法(meth…

网站域名申请成都水高新区建设局官方网站

01背包问题 题目链接:46. 携带研究材料 文档讲解:代码随想录 状态:忘了 二维dp 问题1:为啥会想到i代表第几个物品,j代表容量变化? 动态规划中,每次决策都依赖于前一个状态的结果,在…

网站改版 总结加载wordpress外部文件

多线程 线程 线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。 (理解:应用软件中互相独立,可以同时运行的功能) 进程 进程是程序的基本执行实体。(理解&#…

电商网站建设费用如何在asp网站

在CentOS系统中,您可以使用以下工具来监控系统的运行情况: 1. top: top 是一个命令行工具,用于实时监控系统的进程、CPU、内存和负载情况。您可以使用以下命令来启动 top: top 输出 2. htop: htop 是一…

满山红厦门网站建设大连市房屋管理局官网

1、今天消费1710元 意外险 住院--集中参保 校---******----服 1220 rmB lunch 240Rmb

合肥做网站设计建设通相似的网站

源码说明PHP萌心上传直链外链网盘源码,小巧单文件,无需数据库,只需PHP运行环境即可。源码安装方法上传文件到PHP运行环境,修改index.php内的配置// 单个文件限制$max_file_size"51200";//大小指的KB,51200是…

网站建设在淘宝上以后让还让发布吗下载app软件安装

使用akshare可以很方便的获取同花顺行业列表,与每个行业对应的个股信息,流程如下: 使用ak.stock_board_industry_summary_ths()获取行业列表循环行业列表,使用ak.stock_board_industry_cons_ths()获取行业对应的个股信息 官方文…

福建建设工程设计备案网站百度网盘优化

这是敏捷开发一千零一问系列的第七篇。(之一,之二,之三,问题总目录)问题松结对编程中,师傅对徒弟安排任务时,对于有想法的徒弟提出的意见怎样解决?方案步骤0:正心&#x…

同城信息服务平台网站头部seo范例

11&#xff1a;C中有关queue常用函数的用法及其注意要项 #include<bits/stdc.h> using namespace std; int main(){queue <int> q;q.push() //在队尾插入一个元素q.pop() //删除队列第一个元素q.size() //返回队列中元素个数q.empty() //如果队列空则返回true…

ppt网站模板北京网站建设报价表

VS2022配置OpenCV环境 关于OpenCV在VS2022上配置的教程可以参考&#xff1a;VS2022 配置OpenCV开发环境详细教程 图像马赛克 图像马赛克&#xff08;Image Mosaic&#xff09;的原理基于将图像的特定区域替换为像素块&#xff0c;这些像素块可以是纯色或者平均色&#xff0c…