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文檔選項:

  

然後,針對方法寫好註釋即可,示例:


  /// <summary>
  /// 微服務測試
  /// </summary>

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、類必須爲Public;

2、類必須有註釋說明,否則API文檔上會忽略不顯示。

方法特別說明:

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

特別說明:

如果樣式沒出來,可能是缺少對靜態文件的處理,補上一條即可:

app.UseStaticFiles();

 

 

這裏點去,找到剛纔註釋的那個方法:

 

 

 點進詳情頁:

 

 這裏就可以看到詳細的接口文檔。

參數的默認值,可以通過註釋上初始定義、也可以通過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 微服務系列教程(部署教程)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章