天天看點

NUnit斷言大全

NUnit斷言大全

Nunit提供了豐富的斷言,用以進行單元測試。其中最常用的主要集中在NUnit.Framework.Assert類。

Equal斷言

這種斷言最為簡單。作用是判斷兩個值類型是否相當。包括:AreEqual和AreNotEqual斷言。各有17次重載。

Assert.AreEqual(expected, actual, message)

參數:

expected——期望的值;

actual——被測試的代碼實際運作的結果;

message——發生錯誤時要報告的消息。

作用:

該斷言判斷actual和expected兩個值是否相當。如果不相等則報告錯誤。

适用的資料類型:

object

float

double

decimal

uint

int

任何類型都可以使用此斷言,但是我個人認為判斷兩個引用類型的對象是否相等不應該使用此斷言。

Assert.AreNotEqual(expected, actual, message)

參數:

expected——期望的值;

actual——被測試的代碼實際運作的結果;

message——發生錯誤時要報告的消息。

作用:

該斷言判斷actual和expected兩個值是否相當。如果相等則報告錯誤。

适用的資料類型:

object

float

double

decimal

uint

int

任何類型都可以使用此斷言,但是我個人認為判斷兩個引用類型的對象是否相等不應該使用此斷言。

同一斷言

包括:AreSame 和areNotSame兩個斷言,以及一個名為Contains的斷言。

顧名思義,Same斷言就是判斷兩個引用類型引用的是否是同一對象。

AreSame(expected, actual, message)

參數:

expected——期望的值;

actual——被測試的代碼實際運作的結果;

message——發生錯誤時要報告的消息。

作用:

該斷言判斷actual和expected指向的是否是同一對象。如果不是同一對象則報告錯誤。

适用:

适用于引用類型。

AreNotSame(expected, actual, message)

參數:

expected——期望的值;

actual——被測試的代碼實際運作的結果;

message——發生錯誤時要報告的消息。

作用:

該斷言判斷actual和expected指向的是否是同一對象。如果是同一對象則報告錯誤。

适用:

适用于引用類型。

Contains(anObject, collection, message)

參數:

anObject——一個對象;

collection——一個數組或清單;

message——發生錯誤時要報告的消息。

作用:

該斷言判斷一個對象是否被包含在一個清單或數組裡,也就是說這個對象是否是一個資料或清單的成員。如果不是報告錯誤。

适用:

适用于引用類型。

比較斷言

包括:Greater和Less斷言。

Greater(arg1, arg2, message)

參數:

arg1——進行比較的第一個參數;

arg2——進行比較的第二個參數;

message——發生錯誤時要報告的消息。

作用:

該斷言判斷arg1是否大于arg2。如果arg1不大于arg2報告錯誤。

适用類型:

int

uint

decimal

float

double

以及一切實作了IComparable接口的引用類型。

Less(arg1, arg2, message)

參數:

arg1——進行比較的第一個參數;

arg2——進行比較的第二個參數;

message——發生錯誤時要報告的消息。

作用:

該斷言判斷arg1是否小于arg2。如果arg1不小于arg2報告錯誤。

适用類型:

int

uint

decimal

float

double

以及一切實作了IComparable接口的引用類型。

類型斷言

此類斷言用于判斷對象的類型。包括:IsInstanceOfType, IsNotInstanceOfType, IsAssignableFrom, IsNotAssignableFrom斷言。

IsInstanceOfType(expected, actual, message)

參數:

expected——期望的對象的類型,接受一個type類型的參數;

actual——對象;

message——發生錯誤時要報告的消息。

作用:

該斷言判斷actual的類型是否就是expected所指定的類型。如果不是則報告錯誤。

适用的資料類型:

任何資料類型。

IsNotInstanceOfType(expected, actual, message)

參數:

expected——期望的對象的類型,接受一個type類型的參數;

actual——對象;

message——發生錯誤時要報告的消息。

作用:

該斷言判斷actual的類型是否就是expected所指定的類型。如果是則報告錯誤。

适用的資料類型:

任何資料類型。

條件斷言

IsTrue(bool condition, string message)

IsFalse(bool condition, string message)

IsNull(object anObject, string message)

IsNotNull(object anObject, string message)

IsNaN(double aDouble, string message)

IsEmpty(string aString, string message)

IsNotEmpty(string aString, string message)

IsEmpty(ICollection collection, string message)

IsNotEmpty(ICollection collection, string message)

Fail斷言

Fail(string message)

使測試立即失敗。該斷言通常被用于标記不應到達的分支。不怎麼經常用。

使用NUnit進行浮點數測試準則
單元測試應該測試什麼?——Right-BICEP
用NUnit測試異常另有妙法!!