5分鐘實現VS2010整合NUnit進行單元測試
1、下載安裝NUnit(最新win版本為NUnit-2.6.0.12051.msi) http://www.nunit.org/index.php?p=download
2、下載并安裝VS的Visual Nunit 2010 插件 http://visualstudiogallery.msdn.microsoft.com/c8164c71-0836-4471-80ce-633383031099
注:可通過VS的“視圖”->“其他窗口”找到并打開該插件(快捷鍵:Ctrl+F7)
3、新建測試項目UnitTestApp(示例為簡單的控制臺應用程序),引入nunit.framework類庫(默認安裝后文件所在路徑:C:\Program Files \NUnit 2.6\bin\framework\nunit.framewor.dll)
4、添加Calculator類,實現一個簡單加法和獲取單例方法
namespace UnitTestApp { public class Calculator { public int Add(int a, int b) { return a + b; } private static readonly object objSync = new object(); private static Calculator instance = null; public static Calculator GetInstance() { if (instance == null) { lock (objSync) { if (instance == null) { instance = new Calculator(); } } } return instance; } } } |
5、新增NUnitTest類進行單元測試
using NUnit.Framework; namespace UnitTestApp { [TestFixture] public class NUnitTest { [Test] public void AddTest() { var calc = new Calculator(); var result = calc.Add(1, 1); Assert.AreEqual(2, result); } [Test] public void AddTestFailure() { var calc = new Calculator(); var result = calc.Add(1, 1); Assert.AreEqual(10, result); } [Test] public void SingtonTest1() { var calc = Calculator.GetInstance(); Assert.IsNull(calc); } [Test] public void SingtonTest2() { var calc1 = Calculator.GetInstance(); var calc2 = Calculator.GetInstance(); Assert.IsTrue(object.Equals(calc1, calc2)); } } } |
編譯控制臺項目,點擊Visual Nunit 插件的“Run”按鈕,然后一切清靜了。
注:在上面的代碼中引用 NUnit.Framework,使用TestFixture標注這是用于測試的類,在其中使用 Test表示具體的測試用例。可以看到單元測試中最重要的是斷言,其他完全交給框架自動化。測試結果可以通過插件及時看到:
posted on 2014-06-25 11:27 順其自然EVO 閱讀(225) 評論(0) 編輯 收藏 所屬分類: 測試學習專欄