1. 程式人生 > 其它 >C# 單元測試例子二

C# 單元測試例子二

技術標籤:VS

步驟簡略,特別處進行說明。

以VS2015為例。

1、建立一個解決方案方案,如新增一個ConsoleApplication1的解決方案。

2、在解決方案的預設專案中,新增一個Calc類

3、將Calc設定成public,然後新增一個靜態方法。

    public class Calc
    {
        public static int ADD(int a, int b)
        {
            return a + b;
        }
    }

4、在ADD的方法上,點右鍵【建立單元測試】,在彈出的對話方塊中,選擇【測試專案名】和【輸出檔案】,其他內容選預設即可。自動建立一個方法。

5、補全方法並用斷言結尾即可。

namespace ConsoleApplication1.Tests
{
    [TestClass()]
    public class CalcTests
    {
        [TestMethod()]
        public void ADDTest()
        {
            int a = 10, b = 15;
            int c = Calc.ADD(a, b);
            Assert.AreEqual(25, c);
        }
    }
}

6、這時,對於我們要測試的方法上方,就有VS自動新增的測試用例執行狀況的提要了。

7、以後修改了這個方法,點選執行測試用例即可。

斷言包括以下幾種,第一個引數是你的期望值(Except),第二個引數是函式返回或影響程式產生的實際值(Actual)

① Assert.AreEqual
  主要是驗證函式產生的影響值或返回的值跟預期是否一致,這個方法不適合驗證返回的資料集以及集合之類的資料,主要針對字串,數字等等的單一型別,它還有個泛型過載,這個是比較好的,建議多使用,它還有第三個引數,是一個string型的message,基本上不會用到!
  例子:Assert.AreEqual<string>("a", "a", "cheng xu yuan");

② Assert.AreNotEqual

  沒什麼要講的,情況跟上面相反,主要是驗證實際值跟期望值不相等的情況!

③ Assert.AreSame

  判斷實際值跟預期值的型別是否一致!

④ Assert.AreNotSame

  跟上面正好相反,測試型別不一致!

⑤ Assert.IsNotNull,Assert.IsNull,Assert.IsTrue,Assert.IsFalse

  看這些方法名就知道什麼意思了!

⑥ Assert.IsInstanceOfType,Assert.IsNotInstanceOfType

  判斷指定的物件是否是指定的型別!

⑦ Assert.Fail

  迫使斷言失敗,不管前面的斷言是否都成功了,但測試結果是錯誤的,因為我強制斷言失敗了!