.NET 6 HttpClient單元測試範例
目的
面試的時候被問到要如何做包含外部api的單元測試問題,稍微查一下其實很簡單,怎麼當下答不出來呢? 主要有兩種方式,一種為.net core 2.1以後有提供IHttpClientFactory的介面可以使用。
建立新專案
選擇ASP.NET Core Web API專案範本,並執行下一步 
設定新的專案
命名你的專案名稱,並選擇專案要存放的位置。 
其他資訊
直接進行下一步 
建立資料夾

編輯Program.cs檔案
註冊AddHttpClient。

新增一個類別檔
加入前

加入後

建構子注入
將註冊的httpclient透過建構子注入
加入前

加入後

新增方法
新增一個會去發外部請求的方法,模擬當有包含第三方api時如何測試

新增測試專案
對方案點選右鍵>加入>新增專案

設定新的專案
替測試專案命名,建議命名規則以.Tests做結尾 
其他資訊
專案架構需要與要測試的專案相同 
加入參考
將要測試的專案加入測試專案
對CallAPIServices.Tests點選右鍵>加入>專案參考

NuGet加入套件
透過NuGet安裝Moq套件至測試專案 
新增對應資料夾與測試檔案
新增檔案,檔名需要與要測試的檔案一致,並加上Tests 
新增程式碼
在新增的檔案內新增一個方法並寫入程式碼,一開始會看到許多紅色波浪,是因為沒有加入參考
加入前


加入後


執行測試
點右鍵執行測試,最後結果會如左下角顯示成功 
相關參考
單元測試好的做法 為什麼要使用IHttpClientFactory moq套件介紹 單元測試介紹 Fact跟Theory差別 存取修飾詞
範例檔
Last updated