當我們編輯好一個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和返回的結果相等,那么該測試就會通過,否側測試不通過,運行單元測試的方法如圖,
即可查看測試是否通過。