Skip to main content

單元測試 Unit Testing

單元測試指的是一種自動化的程式,專門用來對另一個目標程式進行測試,以驗證目標程式的運作與邏輯是否正常。

基本概念

單元測試的概念其實很簡單,甚至大部分的人都有寫過類似的程式。例如以下有一個數學加法的程式,他會將兩個參數相加後回傳。

// File name: Math.cs
class Math
{
int Add(int a, int b)
{
return (a + b);
}
}

對於上面這個程式,我們如果想要用程式來測試它的功能是否正常,我們可以編寫以下程式:

// File name: MathTest.cs
class MathTest
{
void Add_Input1And2_Return3()
{
// Arrange.
Math math = new Math();

int firstNumber = 1;
int secondNumber = 2;

int expected = 3;
int actual;

// Act.
actual = math.Add(firstNumber, secondNumber);

// Assert.
Assert.AreEqual(expected, actual);
}
}

上面這個「MathTest.cs」就可以視爲一個簡單的單元測試程式。可以注意它使用了「3A(Arrange-Act-Assert,準備-操作-驗證)」的結構,這樣做的好處是很方便瞭解該單元測試程式的運作方式。而該測試方法的命名使用了「目標被測方法假設條件預期行爲」的結構。

參考資料