目的
單元測試
建立新專案
選擇ASP.NET Core Web API專案範本,並執行下一步
設定新的專案
命名你的專案名稱,並選擇專案要存放的位置。
其他資訊
直接進行下一步
建立新的類別庫
進行命名時通常會與要測試的專案同名並加上結尾.Tests
,以此範例就會變成xUnitExample.Tests
NuGet加入套件
針對xUnitExample.Tests加入相關套件
- xunit
- xunit.runner.visualstudio
- Microsoft.NET.Test.Sdk
- coverlet.collector
新增Calculator.cs類別檔
在xUnitExample專案新增Calculator.cs類別檔 新增一個簡單的加法函式
public static class Calculator {
public static double Add(int a, int b) {
return a + b;
}
}
針對xUnitExample.Tests類別庫加入參考
引用要測試的專案,才能將測試與實際專案切分開來
新增CalculatorTests.cs類別檔
刪除預設的類別檔(Class1.cs),建立對應的資料夾以及類別檔案,並在結尾加上Tests
編輯CalculatorTests.cs類別檔
測試都會分三個階段
- Arrange:準備階段,包含初始化相關資料
- Act:執行測試方法後所取得的結果
- Assert:驗證Act取得的結果是否符合預期結果
public class CalculatorTests {
//告訴編譯器要執行的測試方法
[Fact]
public void Add_() {
//Arrange
double Expected = 20;
//Act
var Actual = Calculator.Add(5, 15);
//Assert
Assert.Equal(Expected, Actual);
}
}
執行結果
點選測試>執行所有測試
下方視窗就會顯示成功或失敗
後記
單元測試有另外兩種NUnit與mstest,基本上大同小異,並無太大的區別。