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

企业做网站收费重庆建筑网络平台

企业做网站收费,重庆建筑网络平台,网站建设见站分析和准备论文,亚马逊雨林探险之旅作文问题由于依赖注入#xff0c;特别是构造函数注入的广泛使用#xff0c;使得编写单元测试时#xff0c;需要使用Mock框架#xff08;例如Moq#xff09;生成测试类的依赖接口的模拟实现#xff0c;并验证接口是否按预期使用。例如eShopOnContainers中的测试代… 问题由于依赖注入特别是构造函数注入的广泛使用使得编写单元测试时需要使用Mock框架例如Moq生成测试类的依赖接口的模拟实现并验证接口是否按预期使用。例如eShopOnContainers中的测试代码就使用了Moq实现如下private readonly MockIMediator _mediatorMock; private readonly MockIOrderQueries _orderQueriesMock; private readonly MockIIdentityService _identityServiceMock; private readonly MockILoggerOrdersController _loggerMock;public OrdersWebApiTest() {_mediatorMock  new MockIMediator();_orderQueriesMock  new MockIOrderQueries();_identityServiceMock  new MockIIdentityService();_loggerMock  new MockILoggerOrdersController(); }[Fact] public async Task Cancel_order_with_requestId_success() {//Arrange_mediatorMock.Setup(x  x.Send(It.IsAnyIdentifiedCommandCancelOrderCommand, bool(), default(CancellationToken))).Returns(Task.FromResult(true));//Actvar orderController  new OrdersController(_mediatorMock.Object, _orderQueriesMock.Object, _identityServiceMock.Object, _loggerMock.Object);var actionResult  await orderController.CancelOrderAsync(new CancelOrderCommand(1), Guid.NewGuid().ToString()) as OkResult;//AssertAssert.Equal(actionResult.StatusCode, (int)System.Net.HttpStatusCode.OK);} 可以看到OrdersController依赖了4个接口而每个测试用例都必须将Mock对象传入构造函数一旦更改了OrdersController的构造函数参数那么你将需要更改大量单元测试代码。如何简化这部分工作Moq.AutoMockerMoq.AutoMocker是一款基于Moq的IoC容器它可以用来自动创建待测试类的依赖。引用nuget包Moq.AutoMock之后上面的测试代码可以修改如下[Fact] public async Task Cancel_order_with_requestId_success() {//Arrangevar autoMocker  new AutoMocker();var orderController  autoMocker.CreateInstanceOrdersController();var mediatorMock  autoMocker.GetMockIMediator();mediatorMock.Setup(x  x.Send(It.IsAnyIdentifiedCommandCancelOrderCommand, bool(), default(CancellationToken))).Returns(Task.FromResult(true));//Actvar actionResult  await orderController.CancelOrderAsync(new CancelOrderCommand(1), Guid.NewGuid().ToString()) as OkResult;//AssertAssert.Equal(actionResult.StatusCode, (int)System.Net.HttpStatusCode.OK); } 可以看到无需提前生成Mock对象autoMocker.CreateInstanceT即可创建指定类型的实例。autoMocker.GetMockT可以获得依赖接口的Mock实例然后像以前一样执行Setup或Verify方法。结论Moq.AutoMocker大大减少了在单位测试中编写重复Mock代码的数量简化了待测试类的生成。如果你使用Moq我强烈推荐它。如果你觉得这篇文章对你有所启发请关注我的个人公众号”My IO“记住我
http://wiki.neutronadmin.com/news/291827/

相关文章:

  • 无锡网站建设专注千客云网络wordpress 环境
  • 淘宝联盟网站建设自己买空间让网络公司做网站好吗
  • 制作外贸网站企业网站需要注意什么
  • 做性视频大全在线观看网站网站代更新
  • 杭州网站制作维护绚丽的网站
  • 网站建设实施计划书深圳优化排名公司
  • 网站策划与网页设计人力资源做网站的好处
  • 网上购物网站开发报价青白江网站建设
  • 做移动网站南京建设网站排名
  • 0基础怎么做网站模版德化县住房和城乡建设局网站
  • 黑客怎么攻击网站自己做的网站可以挂在哪里
  • 学做美食饮品网站中小企业网站制作407
  • 郑州制作网站的基本流程深圳公司注册资金最低多少
  • 如何建设网站视频邢台网站建设优化
  • 免费ftp服务器申请网站河北省住房和城乡建设部网站
  • 红安城市建设局投诉网站北京市网站公司网站
  • 随州建设网站广告设计公司宁波
  • 如果做vr参观网站网站外包优化
  • 中国做的最好的网站建设公司湖南手机版建站系统哪家好
  • 廉溪区建设局网站山东金融行业网站开发
  • 沈阳奇搜建站东莞有哪些网络有限公司
  • 免费网络短剧网站中国做铁塔的公司网站
  • 微信公众号平台及网站建设计划做网站用的笔记本配置
  • 微商各种软件拿码渠道百度seo快速见效方法
  • 徐州建设银行网站wordpress批量换网址
  • 中国手机最好的网站排名2008iis7怎么搭建网站
  • 公司网站维护更新流程如何在阿里云上建设网站
  • 河南个人网站建设建立网站站点的过程
  • 中职网站建设与管理在家做网站维护兼职
  • 深圳做网站网络公司排名wordpress mepal