
- .NET Core 教程
- .NET Core - 首頁
- .NET Core - 概述
- .NET Core - 預備條件
- .NET Core - 環境設定
- .NET Core - 開始
- .NET Core - 數值
- .NET Core - 垃圾回收
- .NET Core - 程式碼執行
- .NET Core - 模組化
- .NET Core - 專案檔案
- .NET Core - 包引用
- 使用.NET Core建立UWP應用
- .NET Core - MSBuild
- .NET Core - 元包
- Windows執行時和擴充套件SDK
- 建立.NET Standard庫
- .NET Core - 可移植類庫
- 向庫新增引用
- 共享.NET Core庫
- 建立Xamarin.Forms專案
- .NET Core - PCL故障排除
- .NET Core - 建立測試專案
- 在Visual Studio中執行測試
- .NET Core - 測試庫
- 託管可擴充套件性框架
- .NET Core - SDK
- .NET Core - MSBuild和project.json
- 還原和構建以及MSBuild
- .NET Core - 遷移
- .NET Core有用資源
- .NET Core - 快速指南
- .NET Core - 有用資源
- .NET Core - 討論
.NET Core - 在Visual Studio中執行測試
本章將討論如何在Visual Studio中執行測試。.NET Core的設計考慮了可測試性,因此建立應用程式的單元測試比以往任何時候都更容易。本章將介紹如何在Visual Studio中執行和執行測試專案。
讓我們在Visual Studio中開啟FirstApp解決方案。

您可以看到它只有兩個專案,您將無法看到測試專案,因為我們尚未在解決方案中新增該專案。
讓我們先新增一個資料夾,並將其命名為test。

右鍵單擊test資料夾。

選擇project.json檔案,然後單擊開啟。

下面的截圖顯示了Tests.cs檔案中的程式碼作為輸出。

這是預設實現,它只是測試True等於true。它是xUnit測試框架,您將看到註釋並表示測試方法的Fact屬性。
using System; using Xunit; namespace Tests { public class Tests { [Fact] public void Test1() { Assert.True(true); } } }
以下是project.json檔案的實現。
{ "version": "1.0.0-*", "buildOptions": { "debugType": "portable" }, "dependencies": { "System.Runtime.Serialization.Primitives": "4.1.1", "xunit": "2.1.0", "dotnet-test-xunit": "1.0.0-rc2-192208-24" }, "testRunner": "xunit", "frameworks": { "netcoreapp1.0": { "dependencies": { "Microsoft.NETCore.App": { "type": "platform", "version": "1.0.1" } }, "imports": [ "dotnet5.4", "portable-net451+win8" ] } } }
在project.json檔案中,對測試框架最重要的依賴項是xunit,它引入了Fact屬性。它引入了用於使用xunit進行測試的測試框架和API。
我們還有dotnet-test-xunit,這是一個介面卡,以便xunit可以與.NET Core一起工作,特別是與dotnet test命令列實用程式一起工作。然後,您將看到testRunner,它將執行xunit,您還可以看到netcoreapp1.0框架。
您將在下面看到.NETCore.App依賴項。
要在Visual Studio中執行測試,讓我們從測試→視窗→測試資源管理器選單選項開啟測試資源管理器。

您可以看到Visual Studio會自動檢測測試。測試的名稱由名稱空間.類名.測試方法名組成。現在讓我們單擊測試資源管理器中的“執行全部”按鈕。

它將首先構建程式碼,然後執行測試,您將看到測試的總時間。讓我們更改測試方法,以便在測試失敗時可以看到輸出。
using System; using Xunit; namespace Tests { public class Tests { [Fact] public void Test1() { Assert.True(false); } } }
讓我們再次透過單擊執行全部按鈕連結來執行測試。

您現在可以看到測試失敗。