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

辽宁省建设执业继续教育协会网站推广引流要怎么做比较好

辽宁省建设执业继续教育协会网站,推广引流要怎么做比较好,wordpress调用tags,网站建设需要提供什么介绍常用的单元测试是测试方法、API等#xff0c;下面我们来演示一下Xunit测试框架的简单使用#xff0c;有些是为了演示而写的单元测试。最下面有反转#xff0c;一定要看到最后操作创建单元测试项目本次文章还在原来项目的基础上进行操作#xff0c;右键解决方案添加单元… 介绍常用的单元测试是测试方法、API等下面我们来演示一下Xunit测试框架的简单使用有些是为了演示而写的单元测试。最下面有反转一定要看到最后操作创建单元测试项目本次文章还在原来项目的基础上进行操作右键解决方案添加单元测试项目img选择框架版本为.Net 5.0img单元测试项目创建完成。然后引用我们的包Project SdkMicrosoft.NET.SdkPropertyGroupTargetFramework.NETCoreApp,Versionv5.0/TargetFrameworkIsPackablefalse/IsPackable/PropertyGroupItemGroupPackageReference IncludeMicrosoft.AspNetCore.TestHost Version5.0.10 /PackageReference IncludeMicrosoft.NET.Test.Sdk Version16.9.4 /PackageReference Includexunit Version2.4.1 /PackageReference Includexunit.runner.visualstudio Version2.4.3IncludeAssetsruntime; build; native; contentfiles; analyzers; buildtransitive/IncludeAssetsPrivateAssetsall/PrivateAssets/PackageReferencePackageReference Includecoverlet.collector Version3.0.2 //ItemGroupItemGroupProjectReference Include..\Net5ByDocker\Net5ByDocker.csproj //ItemGroup/ProjectTargetFramework指定测试项目的目标框架IsPackable设置是否允许打包单元测试项目xunit该xunit包引入了三个子包其中包括大多数开发人员想要的功能xunit.core测试框架本身、 xunit.assert包含Assert类的库和xunit.analyzers使 Roslyn 分析器能够检测单元测试和 xUnit.net 可扩展性的常见问题包xunit.runner.visualstudio和Microsoft.NET.Test.Sdk 是能够在 Visual Studio 中运行测试项目以及使用 dotnet test.coverlet.collector该coverlet.collector包允许收集代码覆盖率。如果您不打算收集代码覆盖率则应删除此包引用。如果想使用MSTest框架那么只需要在需要进行测试的方法上面点击右键创建单元测试img点击确定后将会为我们创建一个单元测试的应用程序关于User控制器的单元测试我们就写在这个里面img这里我们并不使用MSTest进行测试。创建基类文件BaseTestpublic class BaseTest {protected readonly ITestOutputHelper Output;public BaseTest(ITestOutputHelper output){Output  output;}public string SerializeObject(object obj){JsonSerializerSettings settings  new JsonSerializerSettings{Formatting  Formatting.Indented,ContractResolver  new CamelCasePropertyNamesContractResolver()};return JsonConvert.SerializeObject(obj, settings);} }/// summary /// 构建webhost /// /summary public class BaseWebHostTest : BaseTest {protected readonly TestServer Server;public BaseWebHostTest(ITestOutputHelper helper) : base(helper){var service  Host.CreateDefaultBuilder().ConfigureWebHostDefaults(webBuilder {webBuilder.UseStartupStartup();}).Build().Services;Server  new TestServer(service);} }/// summary /// 只是测试控制器Api /// /summary public class BaseHostTest : BaseTest {protected readonly TestServer Server;public BaseHostTest(ITestOutputHelper helper) : base(helper){Server  new TestServer(WebHost.CreateDefaultBuilder().UseEnvironment(Development)//测试使用.UseStartupStartup());} }测试API就以演示获取用户信息为例我们测试调用接口后是否返回状态码为200编写构造函数并赋值HttpClientpublic UserControllerTests(ITestOutputHelper helper) : base(helper) {Client  Server.CreateClient();//var token  ; // 可以对HttpClient进行一些自定请求头等操作//Client.DefaultRequestHeaders.Authorization  new System.Net.Http.Headers.AuthenticationHeaderValue(Bearer, token); }public HttpClient Client { get; }测试[Fact()] public async Task Get_User_ReturnOk() {//Arrange  赋值区域//Actvar response  await Client.GetAsync(api/user/getlist);//AssertAssert.Equal(HttpStatusCode.OK, response.StatusCode);Output.WriteLine(await response.Content.ReadAsStringAsync()); }写单元测试一般有三个步骤ArrangeAct 和 Assert。Arrange 是准备阶段这个阶段是准备工作比如模拟数据、初始化对象等Act 是行为阶段这个阶段是用准备好的数据去调用要测试的方法Assert 是断定阶段就是把调用目标方法返回的值和预期的值进行比较如果和预期一致说明测试通过否则为失败。点击方法名字右键运行测试或者调试测试img测试方法比如我们去对IUserService里面的GetListAsync做单元测试,继承自公共类通过依赖注入获取IUserService服务public class UserServiceTest : BaseWebHostTest {private readonly IUserService _userService;public UserServiceTest(ITestOutputHelper helper) : base(helper){_userService  Server.Services.GetRequiredServiceIUserService();}[Fact]public async Task GetUser_ReturnOk(){//Arrange准备阶段 //Act行为阶段var response  await _userService.GetListAsync();//Assert断言阶段Assert.NotNull(response);Output.WriteLine(JsonConvert.SerializeObject(response));} }点击方法名字右键运行测试或调试测试img单元测试成功并行运行测试在Xunit的2.x版本以后支持并行运行测试。这样子相比如之前可以更好利用服务器性能。新建测试类RunnerTimeTestpublic class RunnerTimeTest {[Fact]public void Test1(){Thread.Sleep(2000);}[Fact]public void Test2(){Thread.Sleep(3000);} }我们猜一下运行该测试类的话需要耗时多少2s3simg通过这个结果我们可以得出来一个测试类内并不是并行执行的。默认情况下每一个测试类都是一个唯一的测试集合同一个测试类的测试不会彼此并行运行。那么我们将这两个测试方法分别放入不同的测试类中public class RunnerTimeTest {[Fact]public void Test1(){Thread.Sleep(2000);} }public class RunnerTimeTest2 {[Fact]public void Test2(){Thread.Sleep(3000);} }运行查看效果img可以得到不同的测试类之间是并行执行的。批评这个是我理解的单元测试样子但是经过同事的严厉批评我知道了应该使用单一变量原则控制一处不同其他变量保持相同而不是像该文章一样依赖项不可控。资料命令行创建单元测试项目https://xunit.net/docs/getting-started/netcore/cmdlineASP.NET Core单元测试https://www.cnblogs.com/willick/p/aspnetcore-unit-tests-with-xunit.html并行运行测试https://xunit.net/docs/running-tests-in-parallel
http://www.pierceye.com/news/404338/

相关文章:

  • 织梦网站打开速度慢做抢单软件的网站
  • 51单片机可以做网站怎么建设游戏试玩平台网站
  • 汕头网站建设方案维护wordpress百度熊掌
  • 牛街网站建设产品vi设计都包括什么
  • 网站需要多大宽带网站发展的方向
  • 陈光锋网站运营推广新动向故城建设银行网站
  • 备案后网站可以改名吗临颖网站建设
  • 临沭县建设局官方网站怎样做外贸网站推广
  • 手机网站支付一个简单的网页代码带图片
  • 向公司申请请做网站广州网站推广教程
  • 用QQ群做网站排名交互式网站app
  • 正规免费发布信息网站国外网站界面
  • 浏览国外网站 dns网店运营推广方案
  • wordpress弹幕视频插件广西seo搜索引擎优化
  • 网站开发与维护工资多少网络公司排名兴田德润
  • wordpress主题ux壹搜网站建设优化排名
  • 试剂产品商城网站建设杭州网站现场备案
  • 高唐企业建网站服务商wordpress google
  • 重庆网站开发商城最近新闻有哪些
  • 电商网站设计线路图有哪些网络推广平台
  • 海门市建设局网站科技与应用
  • 北京做网站s免费做app网站有哪些
  • 免费制作网页的网站网络营销师报名官网
  • 长沙网站制作好公司网络服务模型
  • 网站开发的时间流程微信平台可以做微网站吗
  • 镇江网站seo天猫网店代运营
  • 吴江城乡住房和城乡建设局网站怎么给别人做网站优化
  • 名师工作室网站建设 意义网站图片上浮动文字
  • 做co的网站商城网站不备案
  • 黄山建设网站公司电话网站下载链接怎么做