码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Taurus.MVC WebAPI 入门开发教程8:WebAPI文档与自动化测试。


    系列目录

    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
        {
            /// 
            /// Get or Post 测试
            /// 
            /// post 消息
            /// post 消息
            /// 文件 
          /// 返回Json数据
    [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来初始,也可以通过代码来初始:

    复制代码
            /// 
            /// 全局【方法执行前拦截】
            /// 启用时:先全局,再执行局部(若存在)。
            /// 
            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 微服务系列教程(部署教程)。

  • 相关阅读:
    windows下安装RabbitMQ
    深入剖析ThreadLocal使用场景、实现原理、设计思想
    【Python】OpenCV-图片差异检测与标注
    MySQL——使用mysqldump备份与恢复数据
    面试知识点
    python基础查漏补缺
    6.二叉树.题目3
    G. SlavicG‘s Favorite Problem(DFS序) 2022绵阳H(思维构造),M(并查集)
    低功耗设计—level shifter
    安全操作(安卓推流)程序
  • 原文地址:https://www.cnblogs.com/cyq1162/p/16532347.html
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号