開發環境:Visual Studio 2012, Update 1 (必須)。
說明:VS2012 已整合各測試框架的 Test Runner,包括 NUnit, xUnit 等。藉由標準的介面,可讓各類測試框架於 VS2012 內的 Test Explorer 歸納測試方法 (methods),並執行測試、瀏覽測試結果。
xUnit 可說是繼老牌 NUnit 的後起之秀。關於兩者之間的比較,可參考-xuint和其他的單元測試框架的比較。個人尤為欣賞 xUnit 的 DDT (Data Driven Test)的機制-Theory,可參考這一篇-xUnit Theory, the Data Driven Unit Test。
xUnit Theory 可讓測試方法具有參數 (parameters),而能接收多個資料來源 (InlineData, PropertyData, ClassData, ExcelData, OleDB/Sql ServerData)的資料輸入,讓測試機制更能充分利用測試數據。一個 Theory 可參考如下的寫法。
1: [Theory] 2: [InlineData(1, 2, 3)] 3: [InlineData(3, 4, 7)] 4: [InlineData(30, 10, 40)] 5: public void Add_AddDataValues_ReturnsExpectedResult(int first, int second, int expected) 6: { 7: var actualResult = Calculator.Add(first, second); 8: 9: Assert.Equal(expected, actualResult); 10: } |
安裝:兩個 xUnit 套件是必要安裝的 (全於 VS2012 內安裝)。
- xUnit.net runner for Visual Studio 2012 extension。
- 利用 NuGet 安裝 xUnit.NET。