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)
使测试立即失败。该断言通常被用于标记不应到达的分支。不怎么经常用。