- .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);
}
}
}
讓我們再次透過單擊執行全部按鈕連結來執行測試。
您現在可以看到測試失敗。