- .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 - 測試庫
在本節中,我們將測試我們的 StringLibrary,為此,我們需要重新排列我們的專案,以便我們能夠遵循預設約定。
讓我們開啟global.json檔案。
{
"projects": [ "src", "test" ],
"sdk": {
"version": "1.0.0-preview2-003131"
}
}
在此檔案的頂部,您將看到專案設定,它預設設定了一些資料夾,例如src和test。
按照慣例,我們必須在這些資料夾中擁有專案,這是新的約定,它將作為 .NET Core 的一部分使用。
在解決方案資源管理器中,您可以看到控制檯專案和庫專案都在src資料夾內,而測試專案在test資料夾內。
並且解決方案資源管理器中的專案結構並不代表專案在磁碟上的物理位置。現在讓我們開啟解決方案資料夾,您將看到StringLibrary專案不在src資料夾內。
您可以看到src和test資料夾都對映到global.json檔案中指定的約定。但是,我們有一個專案 StringLibrary 不符合約定。現在讓我們將StringLibrary專案新增到src資料夾中。
在 src 資料夾中,我們有兩個專案,我們需要解決此問題,以便我們可以正確使用所有專案。讓我們回到 Visual Studio,右鍵單擊 StringLibrary 專案並選擇“刪除”選項。它不會刪除它,只會刪除專案。
現在右鍵單擊 src 資料夾並選擇新增→現有專案…
瀏覽到現在位於src資料夾內的 StringLibrary 專案,選擇StringLibrary.csproj檔案,然後單擊開啟。
現在,我們必須從控制檯應用的project.json檔案中刪除StringLibrary的引用。
{
"version": "1.0.0-*",
"buildOptions": {
"emitEntryPoint": true
},
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.1"
},
"NuGet.CommandLine": "3.5.0",
"System.Runtime.Serialization.Json": "4.0.3"
},
"frameworks": {
"netcoreapp1.0": {
"dependencies": { },
"imports": "dnxcore50"
}
}
}
儲存更改,然後在您的控制檯專案中再次新增StringLibrary的引用。
{
"version": "1.0.0-*",
"buildOptions": {
"emitEntryPoint": true
},
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.1"
},
"NuGet.CommandLine": "3.5.0",
"System.Runtime.Serialization.Json": "4.0.3"
},
"frameworks": {
"netcoreapp1.0": {
"dependencies": {
"StringLibrary": {
"target": "project"
}
},
"imports": "dnxcore50"
}
}
}
現在一切應該都能正常工作了,您可以構建StringLibrary,然後構建FirstApp(控制檯專案)而不會出現任何錯誤。現在讓我們使用 xunit 測試 StringLibrary 功能。我們需要將 StringLibrary 的引用新增到我們的測試專案中。右鍵單擊 StringLibraryTests 專案的“引用”,然後選擇“新增引用…”。
單擊確定,這將向我們的測試專案新增StringLibrary的引用。現在讓我們替換Tests.cs檔案中的以下程式碼。
using System;
using Xunit;
using StringLibrary;
namespace Tests {
public class Tests {
[Fact]
public void StartsWithUpperCaseTest() {
string input = "Mark";
Assert.True(input.StartsWithUpper());
}
[Fact]
public void StartsWithLowerCaseTest() {
string input = "mark";
Assert.True(input.StartsWithLower());
}
[Fact]
public void StartsWithNumberCaseTest() {
string input = "123";
Assert.True(input.StartsWithNumber());
}
}
}
您可以看到我們有三個測試方法,它們將測試 StringLibrary 的功能。讓我們單擊“執行全部”連結,您將在測試資源管理器中看到以下輸出。
您也可以從命令列執行測試。讓我們開啟命令提示符並執行dotnet test命令。