亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在Asp.Net Core中利用文件監視進行快速測試開發

發布時間:2021-06-07 17:51:55 來源:億速云 閱讀:165 作者:Leah 欄目:開發技術

今天就跟大家聊聊有關怎么在Asp.Net Core中利用文件監視進行快速測試開發,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

1. 建立業務項目 UserCenterDemo

1.1 在 UserCenterDemo.HomeController 里面編寫一個簡單的業務方法

 [Route("api/[controller]")]
 [ApiController]
 public class HomeController : ControllerBase
 {
 [HttpGet("{id}")]
 public IActionResult Get(int id)
 {
 int code = 0;
 string userName = string.Empty;
 switch (id)

該業務方法非常簡單,僅根據傳入的 id 值進行判斷,如果不是 100 則返回 code=403

2. 建立 xUnit 單元測試項目 UserCenterDemoTest

2.1 引用項目 UserCenterDemo 和引用 NuGet 包

Microsoft.AspNetCore.App
Microsoft.AspNetCore.TestHost

UserCenterDemo 使用了主機集成測試方式,對主機集成測試不了解到同學,可以查看我上一篇博客: Asp.Net Core 輕松學-利用xUnit進行主機級別的網絡集成測試.

2.2 編寫測試用例 UserCenterDemoTest.HomeControllerTest.cs

 public class HomeControllerTest
 {
 public static TestServer serverHost;
 public static HttpClient client;
 public HomeControllerTest()
 {
 if (serverHost == null)
 {
 serverHost = new TestServer(new WebHostBuilder().UseStartup<UserCenterDemo.Startup>());
 client = serverHost.CreateClient();

該測試包含兩個測試方法,分別是獲取 id=100 的用戶和 id=0 的 Guest 用戶

3. 使用 dotnet watch 進行監視測試

按照以往的開發習慣,我們現在應該做的事情可能有兩個,一是啟動項目使用瀏覽器進行訪問業務接口 Get ,二是運行單元測試,不管怎么樣,這兩個動作都將消耗我們大量的時間

現在,有一種全新的選擇,我們可以通過使用 dotnet watch test 對項目文件進行監視變動,自動運行單元測試,并將測試結果輸出到控制臺

3.1 打開 cmd.exe 程序,切換到測試項目目錄 UserCenterDemoTest,輸入 dotnet watch test,等待運行

怎么在Asp.Net Core中利用文件監視進行快速測試開發

上圖表示,當我們輸入命令 dotnet watch test 后,監視程序正在啟動,并在啟動完成后立即執行了一次單元測試,紅色方框部分表示有 2 個測試用例已通過,然后程序并沒有退出,而是在最后輸出了一個提示,正在等待文件變動以重啟 dotnet 應用程序

3.2 接下來我們修改測試用例 GetGuestTest 的斷言結果 code=0,看看發生了什么

怎么在Asp.Net Core中利用文件監視進行快速測試開發

可以看到,在修改完成保存文件的瞬間,程序立即重啟生成,然后執行測試,測試結果斷言不通過
那么問題來了,上面只是監視了測試項目,如果我們修改了 UserCenterDemo.Controllers ,能夠自動監視嗎,答案是肯定的

3.3 現在修改 UserCenterDemo.Controllers ,修改獲取 Guest 的 code=0,返回成功

 [Route("api/[controller]")]
 [ApiController]
 public class HomeController : ControllerBase
 {
 [HttpGet("{id}")]
 public IActionResult Get(int id)
 {
 int code = 0;
 string userName = string.Empty;
 switch (id)

輸出結果,已自動監視執行

怎么在Asp.Net Core中利用文件監視進行快速測試開發

為什么會這樣呢,因為我們的測試項目引用了業務項目 UserCenterDemo
所以可以監視到,查看 UserCenterDemoTest.csproj 文件,起作用的是以下代碼

 <ItemGroup>
 <ProjectReference Include="..\UserCenterDemo\UserCenterDemo.csproj" />
 </ItemGroup>

5. 擴展使用

5.1 如果你覺得總是不停的輸出各種信息讓你覺得很不友好,那么你可以排除監視,比如移除對 UserCenterDemo.csproj 的監視,只需要增加配置 Watch="false" 即可

 <ItemGroup>
 <ProjectReference Include="..\UserCenterDemo\UserCenterDemo.csproj" Watch="false"/>
 </ItemGroup>

5.2 獨立監視

當項目比較大的時候,我們可能需要對監視項目進行管理,這個時候再逐一的對每個項目進行監視設置就變得非常的麻煩,然后我們就可以建立一個單獨的文件夾,創建一個 watch.csproj 文件,填如下面的內容

<Project>
 <ItemGroup>
 <TestProjects Include="..\**\*.csproj" />
 <Watch Include="..\**\*.cs" />
 </ItemGroup>

 <Target Name="WatchManage">
 <MSBuild Targets="VSTest" Projects="@(TestProjects)" />
 </Target>

5.3 注意路徑,因為本示例的目錄結構是這樣

怎么在Asp.Net Core中利用文件監視進行快速測試開發

所以文件中的監視節點我必須加入 .. 回退到上一級,上面的代碼表示,監視上一級目錄下的 .csproj/.cs 文件變動,并為本次監視管理命名為:WatchManage

5.4 現在進入目錄 watch 輸入命令 dotnet watch msbuild /t:WatchManager

怎么在Asp.Net Core中利用文件監視進行快速測試開發

可以看到,已經成功對兩個項目進行變動監視

  • 通過本示例,我們了解到如何在項目開發過程中減少重復勞動,提高生產力的方法

  • 學習了 dotnet watch test 的使用方法

  • 掌握了在應對項目繁多的時候,建立獨立文件監視管理器的方法

看完上述內容,你們對怎么在Asp.Net Core中利用文件監視進行快速測試開發有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宜城市| 三明市| 博白县| 富平县| 石泉县| 杂多县| 深圳市| 资溪县| 琼中| 浙江省| 成安县| 旺苍县| 姜堰市| 基隆市| 宝应县| 桐柏县| 若尔盖县| 南郑县| 沙雅县| 西城区| 方山县| 桐乡市| 灵石县| 衡东县| 武城县| 汤原县| 文安县| 和静县| 广汉市| 文成县| 拉萨市| 阿坝县| 庐江县| 鹿泉市| 成都市| 浮梁县| 泽库县| 信丰县| 陆丰市| 深州市| 大田县|