1. 程式人生 > >Asp.Net WebApi 除錯利器“單元測試”

Asp.Net WebApi 除錯利器“單元測試”

當我們編輯好一個WebApi應用程式後,需要對該Api介面進行除錯,傳統的除錯辦法是在方法內設定斷點,然後用PostMan等http工具模擬訪問進行檢視WebAPI的執行情況,但這種除了效率較低還進行出現http的請求無法準確“命中”方法的難題。

下面,我給大家推薦的是---"單元測試"

如何進行單元測試呢?

首先,我們在解決方案中新建一個ASP.NET WebAPI應用程式。

如圖所示。


點選確定後,選擇空  並勾選WebAPI


然後填加一個Vaule控制器


該ValueController的程式碼如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;

namespace TestDemo.Controllers
{
    public class ValueController : ApiController
    {
        [HttpGet]
        public int Get(int x, int y)
        {
            return x + y;
        }
    }
}

一個很簡單的API介面,接收兩個Int型別資料返回兩個資料之和。

我們當然知道,如果傳入的x=1,y=2,那麼返回的結果肯定是3,那麼我們如何對這一結論進行測試呢?

下面就來講講單元測試的用法。在解決方案中選擇新建專案  選擇測試 目錄下的單元測試。如圖:


確認後,為了命名規範把第一個測試類命名成我們要測試的控制器的名稱+Test,如圖:


其次,需要填加對TestDemo也就是我麼你要測試的那個專案的引用。選擇引用,新增引用,然後勾選我們要測試的專案。


然後回到HomeControllerTest中,填加測試方法,該測試方法的程式碼如下:

using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using TestDemo.Controllers;

namespace WebApi_Test
{
    [TestClass]
    public class ValueControllerTest
    {
        [TestMethod]
        public void TestMethod1()
        {
            var valueController = new ValueController();
            var result = valueController.Get(1, 2);
           Assert.AreEqual(3,result);
        }
    }
}

如果3和返回的結果相等,那麼該測試就會通過,否側測試不通過,執行單元測試的方法如圖,


即可檢視測試是否通過。

相關推薦

Asp.Net WebApi 除錯利器單元測試

當我們編輯好一個WebApi應用程式後,需要對該Api介面進行除錯,傳統的除錯辦法是在方法內設定斷點,然後用PostMan等http工具模擬訪問進行檢視WebAPI的執行情況,但這種除了效率較低還進行出現http的請求無法準確“命中”方法的難題。下面,我給大家推薦的是---"

ASP.NET WebAPI使用Swagger生成測試文檔

domain lease resources 警告 term model trim tno star ASP.NET WebAPI使用Swagger生成測試文檔 SwaggerUI是一個簡單的Restful API測試和文檔工具。簡單、漂亮、易用(官方demo)。通過讀取J

asp.net webapi 跨域訪問 在vs除錯裡面和部署到IIS裡面的配置問題

最近在寫個webapi 的介面服務,正常後端請求沒什麼問題。 但想對方可以直接用ajax 進行呼叫,那麼介面就得支援跨域訪問才行。 網上找了一下,發現通常有兩種方式。 1.在webapi路由裡面配置,EnableCorsAttribute 屬性進行配置。 2.在web

.NET Core 3.0 單元測試Asp.Net Core 3.0 整合測試

單元測試與整合測試 測試必要性說明 相信大家在看到單元測試與整合測試這個標題時,會有很多感慨,我們無數次的在實踐中提到要做單元測試、整合測試,但是大多數專案都沒有做或者僅建了專案檔案。這裡有客觀原因,已經接近交付日期了,我們沒時間做白盒測試了。也有主觀原因,面對業務複雜的程式碼我們不知道如何入手做單元測試,不

ASP.Net WebAPI與Ajax進行跨域數據交互時Cookies數據的傳遞

調整 ucc header set 定義 div ren ext domain 前言 最近公司項目進行架構調整,由原來的三層架構改進升級到微服務架構(準確的說是服務化,還沒完全做到微的程度,顆粒度沒那麽細),遵循RESTFull規範,使前後端完全分離,實現大前端思想。由於是

Asp.net WebApi 生成SwaggerUI文檔

包含 新建 eba 屬性 strong 解析 cnblogs pre har 我們為什麽需要文檔 好的文檔能夠讓前後端開發溝通更輕松 Swagger ui 文檔的優點 可在線測試的,方便前後端調試 使用步驟 新建WebApi 項目

基於ASP.NET WebAPI OWIN實現Self-Host項目實戰

hosting 知識 工作 develop plist 簡單 eba 直接 sock 引用 寄宿ASP.NET Web API 不一定需要IIS 的支持,我們可以采用Self Host 的方式使用任意類型的應用程序(控制臺、Windows Forms 應用、WPF 應

Host ASP.NET WebApi in Owin

public define nuget get log 文檔 getname hang null 什麽是OWIN                                             Owin其實是微軟為了解耦.Net Web app對IIS的依賴而制定

ASP.NET WebAPI 項目示例(增刪改查)

request ctr 構建 設備 每一個 text 平臺 開發 發送數據 1.WebApi是什麽 ASP.NET Web API 是一種框架,用於輕松構建可以由多種客戶端(包括瀏覽器和移動設備)訪問的 HTTP 服務。ASP.NET Web API 是一種用於在

ASP.NET WebApi總結之自定義權限驗證

use bar cor 介紹 string roles 獲得 ext status 在.NET中有兩個AuthorizeAttribute類, 一個定義在System.Web.Http命名空間下 #region 程序集 System.Web.Http, Version=5.

初識Asp.Net WebApi

name json.js ria username newton mes zhang gpo int using System;using System.Collections.Generic;using System.Linq;using System.Net.Http;

asp.net WebApi 使用總結

請求 result supported 靈活 ssa port 方法 blank web 如果想讓服務端直接返回json或者xml的話,可以考慮使用webservice、wcf,或者webapi。webservice基於xml,效率較慢,wcf雖然可以返回json,但是配置

Asp.Net WebApi Swagger終極搭建

private spl config AD pri scrip str 復制 schema 關於為什麽用Swagger   目前稍微有點規模的公司,已經從原先的瀑布流開發到了敏捷開發,實現前後端分離,為此後端工程師只關註寫好Api即可,那程序員最討厭的就是寫Api文檔了,

ASP.NET WebApi OWIN 實現 OAuth 2.0(自定義獲取 Token)

href timespan 獲取 edi prot cep b- med 2-0 相關文章:ASP.NET WebApi OWIN 實現 OAuth 2.0 之前的項目實現,Token 放在請求頭的 Headers 裏面,類似於這樣: Accept: application

好代碼是管出來的——.Net Core中的單元測試與代碼覆蓋率

情況 其它 netcore output 窗口 一個數據庫 過濾 and 令行   測試對於軟件來說,是保證其質量的一個重要過程,而測試又分為很多種,單元測試、集成測試、系統測試、壓力測試等等,不同的測試的測試粒度和測試目標也不同,如單元測試關註每一行代碼,集成測試關註的是

asp.net webapi+swagger+OAuth2.0

== status direct lap .get path all innertext stat 文檔繼續完善整理中。。。。。。 c.DocumentFilter<SwaggerDocTag>(); /// <summary>

asp.net webapi 自定義身份驗證

auth 服務端 ati end 驗證 rri span acc amp /// <summary> /// 驗證 /// </summary> /// Account API賬號 /// TimeStamp 請求時間 /// Sign

Asp.net WebApi 專案示例(增刪改查)

1.WebApi是什麼        ASP.NET Web API 是一種框架,用於輕鬆構建可以由多種客戶端(包括瀏覽器和移動裝置)訪問的 HTTP 服務。ASP.NET Web API 是一種用於在 .NET Framework 上構建 RESTful

關於Asp.net WebAPI自定義驗證並處理model,

獲取客戶端發來的資料方法: protected virtual string GetRequestFromData() { HttpContextBase context = Request.Properties["MS_HttpContext"]

.NET Core: 在.NET Core中進行單元測試

單元測試能夠幫助開發人員確保所開發的模組、類以及類中的方法等的正確性,在專案開發過程中,及時進行單元測試能夠避免不必要的BUG以及提高測試效率。 在本文中,我們會分別來學習如何使用MSTest、xUnit以及NUnit這些流行的.NET測試框架來對.NET Core專案進行測試。 一、專案建立 首先,建