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
{
/// <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 微服务系列教程(部署教程)。
Taurus.MVC WebAPI 入门开发教程8:WebAPI文档与自动化测试。的更多相关文章
- Taurus.MVC WebAPI 入门开发教程1:框架下载环境配置与运行(含系列目录)。
前言: Taurus.MVC 微服务版本已经发布了:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单. 以前都是框架发布时写点相关功能点的文章,没有形成 ...
- Taurus.MVC WebAPI 入门开发教程2:添加控制器输出Hello World。
系列目录 1.Taurus.MVC WebAPI 入门开发教程1:框架下载环境配置与运行. 2.Taurus.MVC WebAPI 入门开发教程2:添加控制器输出Hello World. 3.Tau ...
- Taurus.MVC WebAPI 入门开发教程3:路由类型和路由映射。
系列目录 1.Taurus.MVC WebAPI 入门开发教程1:框架下载环境配置与运行. 2.Taurus.MVC WebAPI 入门开发教程2:添加控制器输出Hello World. 3.Tau ...
- Taurus.MVC WebAPI 入门开发教程4:控制器方法及参数定义、获取及基础校验属性【Require】。
系列目录 1.Taurus.MVC WebAPI 入门开发教程1:框架下载环境配置与运行. 2.Taurus.MVC WebAPI 入门开发教程2:添加控制器输出Hello World. 3.Tau ...
- Taurus.MVC WebAPI 入门开发教程5:控制器安全校验属性【HttpGet、HttpPost】【Ack】【Token】【MicroService】。
系列目录 1.Taurus.MVC WebAPI 入门开发教程1:框架下载环境配置与运行. 2.Taurus.MVC WebAPI 入门开发教程2:添加控制器输出Hello World. 3.Tau ...
- Taurus.MVC WebAPI 入门开发教程6:全局控制器DefaultController与全局事件。
系列目录 1.Taurus.MVC WebAPI 入门开发教程1:框架下载环境配置与运行. 2.Taurus.MVC WebAPI 入门开发教程2:添加控制器输出Hello World. 3.Tau ...
- Taurus.MVC 微服务框架 入门开发教程:项目集成:4、默认安全认证与自定义安全认证。
系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 本系列第一篇:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单 ...
- GJM : Taurus.MVC 2.0 开源发布:WebAPI开发教程 [转载]
Taurus.MVC 2.0 开源发布:WebAPI开发教程 转载自http://www.cnblogs.com/cyq1162/p/6069020.html 因是新手 粘贴时有一个版权问题 本文原 ...
- Taurus.MVC 微服务框架 入门开发教程:项目部署:1、微服务应用程序常规部署实现多开,节点扩容。
系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 本系列第一篇:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单 ...
随机推荐
- “极简”创建 github page 并设置域名
最简单最详细的,创建 github page 并设置域名,没有多余的步骤,并且多图,对新手特别友好 尝试用 github page 创建博客,并设置独立域名.网上找了许多教程,都太复杂.自己的创建过程 ...
- CentOS 8.0与CentOS7.0 防火墙端口设置
一,开放端口号 firewall-cmd --zone=public --add-port=8080/tcp --permanent #开启8080端口 firewall-cmd --zone=pu ...
- Python装饰器,Python闭包
可参考:https://www.cnblogs.com/lianyingteng/p/7743876.html suqare(5)等价于power(2)(5):cube(5)等价于power(3)(5 ...
- XDEBUG 选项
到官网 http://www.xdebug.com/download.php 下载 找到对应PHP版本的 Xdebug ,后面带 TS 的为线程安全,本机环境为 win7 64 + php-5.5.1 ...
- 【转载】解决k8s中的长连接负载均衡问题
原文链接:一流铲屎官二流程序员[解决k8s中的长连接负载均衡问题] 长连接与短连接: 简介 长连接是指在一个TCP连接上可以连续发送多个数据包,在TCP连接保持期间,如果没有数据包发送,需要双方发检测 ...
- 一张图进阶 RocketMQ - NameServer
前言 「三此君看了好几本书,看了很多遍源码整理的 一张图进阶 RocketMQ 图片链接,关于 RocketMQ 你只需要记住这张图!觉得不错的话,记得点赞关注哦.」 一张图进阶 RocketMQ 图 ...
- v-if和v-for哪个优先级更高?
首先在实际开发阶段,不应该把v-if和v-for在同一个标签中使用, 在vue2中,v-for的优先级是高于v-if的,如果同时出现,每次渲染都会先执行循环再判断条件,无论如何循环都不可避免,浪费了性 ...
- SAP Easy tree
*&---------------------------------------------------------------------* *& Include SIMPLE_T ...
- bat-注册表修改win11右键风格
展开:reg add "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32&q ...
- 面试突击61:说一下MySQL事务隔离级别?
MySQL 事务隔离级别是为了解决并发事务互相干扰的问题的,MySQL 事务隔离级别总共有以下 4 种: READ UNCOMMITTED:读未提交. READ COMMITTED:读已提交. REP ...