首页 > 其他分享 >Taurus.MVC WebAPI 入门开发教程8:WebAPI文档与自动化测试。

Taurus.MVC WebAPI 入门开发教程8:WebAPI文档与自动化测试。

时间:2022-08-14 22:26:55浏览次数:105  
标签:WebAPI 教程 Taurus MVC 文档 测试

系列目录

1、Taurus.MVC WebAPI  入门开发教程1:框架下载环境配置与运行。

2、Taurus.MVC WebAPI 入门开发教程2:添加控制器输出Hello World。

3、Taurus.MVC WebAPI 入门开发教程3:路由类型和路由映射。

4、Taurus.MVC WebAPI 入门开发教程4:控制器方法及参数定义、获取及基础校验属性【Require】。

5、Taurus.MVC WebAPI 入门开发教程5:控制器安全校验属性【HttpGet、HttpPost】【Ack】【Token】【MicroService】。

6、Taurus.MVC WebAPI 入门开发教程6:全局控制器DefaultController与全局事件。

7、Taurus.MVC WebAPI 入门开发教程7:业务逻辑基类LogicBase的使用。

8、Taurus.MVC WebAPI 入门开发教程8:WebAPI文档与自动化测试。

后续还有两个系列:

1、Taurus.MVC 微服务 入门开发教程系列。

2、Taurus.MVC Web应用 入门开发教程系列。
 

前方:

本篇介绍框架的WebAPI文档与自动化测试

1、控制器,项目属性里需要勾选输出Xml文档选项:

  

然后,针对方法写好注释即可,示例:

public class MSController : Controller
    {
        /// <summary>
        /// Get or Post 测试
        /// </summary>
        /// <param name="custom" type="header">post 消息</param>
        /// <param name="msg" required="true">post 消息</param>
        /// <param name="file" type="file">文件</param> 
      /// <returns>返回Json数据</returns> [HttpGet] [HttpPost] [MicroService] public void Hello(string msg, System.Web.HttpPostedFile file) { if (file != null) { file.SaveAs(file.FileName); } if (Request.UrlReferrer != null) { Write("From : " + Request.UrlReferrer.ToString() + "\r\n"); } Write("MicroService : " + MicroService.Config.AppRunUrl + Request.Url.LocalPath + " : " + Request.HttpMethod + " : " + msg ?? "Hello" + MicroService.Config.ServerName); }

特别说明:

1、type的类型有三种:text(默认)、header(请求头)、file(文件)

2、必填说明:required="true"

3、请求需要参数可以通过注释新增,不一定需要定义为方法参数。

2、下载文档的网页数据

如果是用源码开发的,则默认自带,如果是自己项目新建引用Nuget的,则需要下载:点击下载

说明:

对于版本(>V3.0.3)会直接打包进Nuget中,引用即生成,不需要重新下载。

下载后解压到目录下,最终目录为:

.Net Framework 目录:/Views/Doc/....

.Net Core 目录:/wwwroot/Views/Doc/....

3、运行访问网址

路径为运行路径 /doc

 

这里点去,找到刚才注释的那个方法:

 

 

 点进详情页:

 

 这里就可以看到详细的接口文档。

参数的默认值,可以通过注释上初始定义、也可以通过Url的参数,如:msg=xxx来初始,也可以通过代码来初始:

        /// <summary>
        /// 全局【方法执行前拦截】
        /// 启用时:先全局,再执行局部(若存在)。
        /// </summary>
        public static bool BeforeInvoke(IController controller, string methodName)
        {
            if (controller.ControllerName == "doc")
            {
                controller.SetQuery("msg", "初始msg参数值。");
            }

            return true;
        }

4、接口测试:

可以在上图的示例值中:输入参数值,在运行请求边上:选择请求类型,和返回数据类型,然后点运行请求:

 

这样就完成轻松的 ,框架会在浏览器端缓存最后一次输入的请求参数,以后后续的测试或批量测试。

5、批量测试:

单个接口测试完后,返回控制器列表:

 

这里点击:RunAll,框架会拿最后一次测试的缓存在浏览器中的数据进行批量测试。 

 

这里可以看到批量的请求结果,第1个本来也是false。

因为上一次执行的类型写的是json,把它改成text执行了一次,回来再批量才成true。 

6、微服务文档

如果框架做为微服务的注册中心,左侧目录则会出现各微服务中心的模块和地址,点击即可跳转过去文档中心。

如果其它应用也是Taurus.MVC 开发,则很方便,如果是其它应用的,最好映射到host/doc目录。

 

 说明:

当前是最省事的做法,后续会考虑直接在当前应用上生成测试文档,直接即可访问,而不用跳转。

总结:

本篇介绍了文档的生成、测试、批量测试与自动化测试。

后续将开启Taurus.MVC 微服务系列教程(部署教程)。

标签:WebAPI,教程,Taurus,MVC,文档,测试
From: https://www.cnblogs.com/cyq1162/p/16532347.html

相关文章

  • 【SpringBoot】学习笔记-MVC
     自动配置了ViewResolver,就是我们之前学习的SpringMVC的视图解析器;即根据方法的返回值取得视图对象(View),然后由视图对象决定如何渲染(转发,重定向)。我们去看看这里的源码......
  • FluentValidation 验证:WebApi 中使用 注入服务
    比如你要验证用户的时候判断一下这个用户名称在数据库是否已经存在了,这时候FluentValidation就需要注入查询数据库只需要注入一下就可以了publicclassLogin3Reques......
  • FluentValidation 验证:WebApi 中使用 基本使用
    FluentValidation.AspNetCore引入包publicclassLogin2RequestValidator:AbstractValidator<Login2Request>{ publicLogin2RequestValidator() { RuleFor(x=>......
  • IDEA2022新建springMVC项目
    SpringMVC学习笔记新建项目新建一个空项目项目下添加一个maven的module,记得用ArcheType那个mavenweb模板记得Archetype的位置用maven-archetype-webapp模板,然后......
  • JavaWeb阶段性项目1:Servlet-api、mvc-service引入、IOC和DI
    Servlet-apiservlet类的继承与实现结构Servlet生命周期:实例化、初始化、服务、销毁init()方法抽象类GenericServlet实现了Servlet接口中的init方法,初始化Servlet......
  • Spring MVC组件之HandlerMapping
    SpringMVC组件之HandlerMappingHandlerMapping概述HandlerMapping组件的作用解析一个个Request请求,并找到相应处理这个Request的Handler。Handler一般可以理解为Control......
  • Power App Portal WebApi使用
    官方文档:webapi-tutorial 1、创建SiteSettings 添加要使用表的sitesettings两条格式为:Webapi/[表名]/enabled:启用此表Webapi/[表名]/fields:要查找的字段如......
  • springMVC
    前端分发控制器 映射处理器--解析请求路径(多种方式)@RequestMapping适配器--找人干活Handler视图解析器--视图渲染,数据填充request域 ......