Unity中使用NUnit进行单元测试 第二章:断言(Assert)详解
简介
NUnit提供了一些辅助函数用于帮助判断某个被测试的函数是否正确执行,通常我们把这些函数统称为断言。使用这些断言可以判断条件是否为真、两个数据是否相相等或者不等、或者其它的一些情况。后面的内容将详细的介绍NUnit提供的断言(Assert)方法
NUnit最常用的断言主要集中在NUnit.Framework.Assert类中,对于集合的断言在NUnit.Framework.CollectionAssert类中进行了扩展,对于目录的断言在NUnit.Framework.DirectoryAssert类中进行了扩展,对于字符串类的断言在NUnit.Framework.StringAssert类中进行了扩展,对于文件类的断言在NUnit.Framework.FileAssert类中进行了扩展。
声明
本文中的内容属于个人总结整理而来,个人水平有限,对于部分细节难免有理解错误及遗漏之处,如果您在阅读过程中有所发现,希望您能指正,同时文章中的部分内容也参考了其它大神的文章,如果文章中的内容侵犯了您的权益,表示非常歉意,请您指出,我将尽快修改。
如果您进行转载,请标明出处。
Unity中使用NUnit进行单元测试 2.断言(Assert)详解(http://www.liyubin.com/articles/2019/05/21/1558433994210.html)
API详解
Assert断言
使用Assert中的断言基本上能满足绝大多数的需求,是最常使用的断言,为了介绍方便,将其分为Comparison、Condition、Equality、Exception、Type、Other几种类型来详细的阐述。
- Comparison(比较断言)
-
Greater
Assert.Greater(arg1, arg2[, message, args])
参数说明:
- arg1: 用于比较的第一个值,期望是比arg2大
- arg2:用于比较的第二个值,期望比arg1小
- message:可选参数,指定一个消息内容,当发生错误时会报告此消息,与args参数结合使用可以提供格式化的消息
- args:可选的参数,与message配合使用,为params object[]类型,当message参数为格式化消息时可以使用些参数指定消息中值
适用范围:
适用于int,uint,long,ulong,decimal,double
,float及其它实现IComparable接口的类型,判断arg1是否大于arg2 -
GreaterOrEqual
Assert.GreaterOrEqual(arg1, arg2[, message, args])
参数说明:
- arg1: 用于比较的第一个值,期望是大于或等于arg2大
- arg2:用于比较的第二个值,期望小于或等于arg1
- message:可选参数,指定一个消息内容,当发生错误时会报告此消息,与args参数结合使用可以提供格式化的消息
- args:可选的参数,与message配合使用,为params object[]类型,当message参数为格式化消息时可以使用些参数指定消息中值
适用范围:
适用于int,uint,long,ulong,decimal,double,float及其它实现IComparable接口的类型,判断arg1是否大于等于arg2
-
Less
Assert.Less(arg1, arg2[, message, args])
参数说明:
arg1: 用于比较的第一个值,期望是比arg2小
arg2:用于比较的第二个值,期望比arg1大
message:可选参数,指定一个消息内容,当发生错误时会报告此消息,与args参数结合使用可以提供格式化的消息
args:可选的参数,与message配合使用,为params object[]类型,当message参数为格式化消息时可以使用些参数指定消息中值
适用范围:
适用于int,uint,long,ulong,decimal,double,float及其它实现IComparable接口的类型,判断arg1是否小于arg2 -
LessOrEqual
Assert.LessOrEqual(arg1, arg2[, message, args])参数说明:
- arg1: 用于比较的第一个值,期望是小于或等于arg2大
- arg2:用于比较的第二个值,期望小于或等于arg1
- message:可选参数,指定一个消息内容,当发生错误时会报告此消息,与args参数结合使用可以提供格式化的消息
- args:可选的参数,与message配合使用,为params object[]类型,当message参数为格式化消息时可以使用些参数指定消息中值
适用范围:
适用于int,uint,long,ulong,decimal,double,float及其它实现IComparable接口的类型,判断arg1是否小于等于arg2
- Condition(条件断言)
-
IsTrue/True
Assert.IsTrue(condition[,message,args])
Assert.True(condition[,message,args])参数说明:
- condition:bool型参数
- message:可选参数,指定一个消息内容,当发生错误时会报告此消息,与args参数结合使用可以提供格式化的消息
- args:可选的参数,与message配合使用,为params object[]类型,当message参数为格式化消息时可以使用些参数指定消息中值
适用范围:
适用于bool类型或者结果为bool类型,用于判断是否为true
-
IsFalse/False
Assert.IsFalse(condition[,message,args])
Assert.False(condition[,message,args])参数说明:
- condition:bool型参数
- message:可选参数,指定一个消息内容,当发生错误时会报告此消息,与args参数结合使用可以提供格式化的消息
- args:可选的参数,与message配合使用,为params object[]类型,当message参数为格式化消息时可以使用些参数指定消息中值
适用范围:
适用于bool类型或者结果为bool类型,用于判断是否为false
-
IsNotNull/NotNull
Assert.IsNotNull(anObject[, message, args])
Assert.NotNull(anObject[, message, args])参数说明:
- anObject:object引用型对象
- message:可选参数,指定一个消息内容,当发生错误时会报告此消息,与args参数结合使用可以提供格式化的消息
- args:可选的参数,与message配合使用,为params object[]类型,当message参数为格式化消息时可以使用些参数指定消息中值
适用范围:
适用于object引用型对象,判断对象是否不为空
-
IsNull/Null
Assert.IsNull(anObject[, message, args])
Assert.Null(anObject[, message, args])参数说明:
- anObject:object引用型对象
- message:可选参数,指定一个消息内容,当发生错误时会报告此消息,与args参数结合使用可以提供格式化的消息
- args:可选的参数,与message配合使用,为params object[]类型,当message参数为格式化消息时可以使用些参数指定消息中值
适用范围:
适用于object引用型对象,判断对象是否为空
-
IsNaN
Assert.IsNaN(aDouble[, message, args])
参数说明:
- aDouble:double数值类型
- message:可选参数,指定一个消息内容,当发生错误时会报告此消息,与args参数结合使用可以提供格式化的消息
- args:可选的参数,与message配合使用,为params object[]类型,当message参数为格式化消息时可以使用些参数指定消息中值
适用范围:
适用于double类型,用于判断其值是否为非数字
-
IsEmpty
Assert.IsEmpty(arg1[, message, args])
参数说明:
- arg1:字符串或者实现了IEnumerable的值
- message:可选参数,指定一个消息内容,当发生错误时会报告此消息,与args参数结合使用可以提供格式化的消息
- args:可选的参数,与message配合使用,为params object[]类型,当message参数为格式化消息时可以使用些参数指定消息中值
适用范围:
适用于string类型或者实现了IEnumerable的类型,判断其值是否不包含任何内容
-
IsNotEmpty
Assert.IsNotEmpty(arg1[, message, args])
参数说明:
- arg1:字符串或者实现了IEnumerable的值
- message:可选参数,指定一个消息内容,当发生错误时会报告此消息,与args参数结合使用可以提供格式化的消息
- args:可选的参数,与message配合使用,为params object[]类型,当message参数为格式化消息时可以使用些参数指定消息中值
适用范围:
适用于string类型或者实现了IEnumerable的类型,判断其值是否存在内容
-
Zero
Assert.Zero(arg1[, message, args])
参数说明:
- arg1:需要判断的数值
- message:可选参数,指定一个消息内容,当发生错误时会报告此消息,与args参数结合使用可以提供格式化的消息
- args:可选的参数,与message配合使用,为params object[]类型,当message参数为格式化消息时可以使用些参数指定消息中值
适用范围:
适用于int,double,uint,long,decimal,float类型,用于判断其值是否为0
-
NotZero
Assert.NotZero(arg1[, message, args])
参数说明:
- arg1:需要判断的数值
- message:可选参数,指定一个消息内容,当发生错误时会报告此消息,与args参数结合使用可以提供格式化的消息
- args:可选的参数,与message配合使用,为params object[]类型,当message参数为格式化消息时可以使用些参数指定消息中值
适用范围:
适用于int,double,uint,long,decimal,float类型,用于判断其值是否不为0
-
Positive
Assert.Positive(arg1[, message, args])
参数说明:
- arg1:需要判断的数值
- message:可选参数,指定一个消息内容,当发生错误时会报告此消息,与args参数结合使用可以提供格式化的消息
- args:可选的参数,与message配合使用,为params object[]类型,当message参数为格式化消息时可以使用些参数指定消息中值
适用范围:
适用于int,double,uint,long,decimal,float类型,用于判断其值是否为正数
-
Negative
Assert.Negative(arg1[, message, args])
参数说明:
- arg1:需要判断的数值
- message:可选参数,指定一个消息内容,当发生错误时会报告此消息,与args参数结合使用可以提供格式化的消息
- args:可选的参数,与message配合使用,为params object[]类型,当message参数为格式化消息时可以使用些参数指定消息中值
适用范围:
适用于int,double,uint,long,decimal,float类型,用于判断其值是否为负数
- Equality(相等性断言)
-
AreEqual
Assert.AreEqual(expected,actual,[delta, message, args])
参数说明:
- expected:期望的值,一般情况下采用硬编码的方式指定
- actual:被测试代码产生的实际的值
- delta:误差值,由于计算机无法准确表示浮点数,当判断类型为浮点数时,需要指定误差值,当差距小于误差值时,认为是相等的
- message:可选参数,指定一个消息内容,当发生错误时会报告此消息,与args参数结合使用可以提供格式化的消息
- args:可选的参数,与message配合使用,为params object[]类型,当message参数为格式化消息时可以使用些参数指定消息中值
适用范围:
适用于任何类型的对象,用于判断测试结果是否与期望值相等,不过对于引用型对象最好不要使用此断言,而是使用AreSame
-
AreNotEqual
Assert.AreNotEqual(expected,actual[, delta, message, args])
参数说明:
- expected:期望的值,一般情况下采用硬编码的方式指定
- actual:被测试代码产生的实际的值
- delta:误差值,由于计算机无法准确表示浮点数,当判断类型为浮点数时,需要指定误差值,当差距小于误差值时,认为是相等的
- message:可选参数,指定一个消息内容,当发生错误时会报告此消息,与args参数结合使用可以提供格式化的消息
- args:可选的参数,与message配合使用,为params object[]类型,当message参数为格式化消息时可以使用些参数指定消息中值
适用范围:
适用于任何类型的对象,用于判断测试结果是否与期望值不相等,不过对于引用型对象最好不要使用此断言,而是使用AreSame
-
AreSame
Assert.AreSame(expected,actual[, message, args])
参数说明:
- expected:期望的值,一般情况下采用硬编码的方式指定
- actual:被测试代码产生的实际的值
- delta:误差值,由于计算机无法准确表示浮点数,当判断类型为浮点数时,需要指定误差值,当差距小于误差值时,认为是相等的
- message:可选参数,指定一个消息内容,当发生错误时会报告此消息,与args参数结合使用可以提供格式化的消息
- args:可选的参数,与message配合使用,为params object[]类型,当message参数为格式化消息时可以使用些参数指定消息中值
适用范围:
适用于引用类型的对象,用于判断测试结果对象与指定的对象是否是同一对象
-
AreNotSame
Assert.AreNotSame(expected,actual[, message, args])
参数说明:
- expected:期望的值,一般情况下采用硬编码的方式指定
- actual:被测试代码产生的实际的值
- delta:误差值,由于计算机无法准确表示浮点数,当判断类型为浮点数时,需要指定误差值,当差距小于误差值时,认为是相等的
- message:可选参数,指定一个消息内容,当发生错误时会报告此消息,与args参数结合使用可以提供格式化的消息
- args:可选的参数,与message配合使用,为params object[]类型,当message参数为格式化消息时可以使用些参数指定消息中值
适用范围:
适用于引用类型的对象,用于判断测试结果对象与指定的对象是否是不同的对象
- Exception(异常断言)
- DoesNotThrow
- Catch
- Throws
- Type(类型相关断言)
-
IsAssignableFrom
Assert.IsAssignableFrom(expected,actual[, message, args])
Assert.IsAssignableFrom(actual[, message, args]) 参数说明:
- expected:期望的值,一个Type类型的参数,一般情况下采用硬编码的方式指定
- actual:被测试代码产生的实际对象
- message:可选参数,指定一个消息内容,当发生错误时会报告此消息,与args参数结合使用可以提供格式化的消息
- args:可选的参数,与message配合使用,为params object[]类型,当message参数为格式化消息时可以使用些参数指定消息中值
适用范围:
适用于任何类型,用来判断对象是否是指定类型的实例
-
IsNotAssignableFrom
Assert.IsNotAssignableFrom(expected,actual[, message, args])
Assert.IsNotAssignableFrom(actual[, message, args]) 参数说明:
- expected:期望的值,一个Type类型的参数,一般情况下采用硬编码的方式指定
- actual:被测试代码产生的实际对象
- message:可选参数,指定一个消息内容,当发生错误时会报告此消息,与args参数结合使用可以提供格式化的消息
- args:可选的参数,与message配合使用,为params object[]类型,当message参数为格式化消息时可以使用些参数指定消息中值
适用范围:
适用于任何类型,用来判断对象是否不是指定类型的实例
-
IsInstanceOf
Assert.IsInstanceOf(expected,actual[, message, args])
Assert.IsInstanceOf(actual[, message, args]) 参数说明:
- expected:期望的值,一个Type类型的参数,一般情况下采用硬编码的方式指定
- actual:被测试代码产生的实际对象
- message:可选参数,指定一个消息内容,当发生错误时会报告此消息,与args参数结合使用可以提供格式化的消息
- args:可选的参数,与message配合使用,为params object[]类型,当message参数为格式化消息时可以使用些参数指定消息中值
适用范围:
适用于任何类型,用来判断对象是否兼容于指定类型
-
IsNotInstanceOf
Assert.IsNotInstanceOf(expected,actual[, message, args])
Assert.IsNotInstanceOf(actual[, message, args]) 参数说明:
- expected:期望的值,一个Type类型的参数,一般情况下采用硬编码的方式指定
- actual:被测试代码产生的实际对象
- message:可选参数,指定一个消息内容,当发生错误时会报告此消息,与args参数结合使用可以提供格式化的消息
- args:可选的参数,与message配合使用,为params object[]类型,当message参数为格式化消息时可以使用些参数指定消息中值
适用范围:
适用于任何类型,用来判断对象是否不兼容于指定类型
CollectionAssert断言
-
AllItemsAreInstancesOfType
CollectionAssert.AllItemsAreInstancesOfType(collection,expectedType[, message, args])
参数说明:
- collection:用于测试的实现IEnumerable的对象
- expectedType:期望的元素类型,一个Type类型参数
- message:可选参数,指定一个消息内容,当发生错误时会报告此消息,与args参数结合使用可以提供格式化的消息
- args:可选的参数,与message配合使用,为params object[]类型,当message参数为格式化消息时可以使用些参数指定消息中值
适用范围:
适用于实现IEnumerable的对象,用于判断其每个元素是否是指定的类型
-
AllItemsAreNotNull
CollectionAssert.AllItemsAreNotNull(collection[, message, args])
参数说明:
- collection:用于测试的实现IEnumerable的对象
- message:可选参数,指定一个消息内容,当发生错误时会报告此消息,与args参数结合使用可以提供格式化的消息
- args:可选的参数,与message配合使用,为params object[]类型,当message参数为格式化消息时可以使用些参数指定消息中值
适用范围:
用于判断其中的所有元素是否均不为Null
-
AllItemsAreUnique
CollectionAssert.AllItemsAreUnique(collection[, message, args])
参数说明:
- collection:用于测试的实现IEnumerable的对象
- message:可选参数,指定一个消息内容,当发生错误时会报告此消息,与args参数结合使用可以提供格式化的消息
- args:可选的参数,与message配合使用,为params object[]类型,当message参数为格式化消息时可以使用些参数指定消息中值
适用范围:
用于判断其中的所有元素是否是唯一存在的,即没有重复的元素
-
AreEqual
CollectionAssert.AreEqual(expected, actual[, comparer, message, args])
参数说明:
- expected:期望的值,其实现IEnumerable的对象
- actual:测试结果值,其实现IEnumerable的对象
- comparer:比较方式,其实现IComparer的对象
- message:可选参数,指定一个消息内容,当发生错误时会报告此消息,与args参数结合使用可以提供格式化的消息
- args:可选的参数,与message配合使用,为params object[]类型,当message参数为格式化消息时可以使用些参数指定消息中值
适用范围:
判断集合中测试值是否与期望的值是相同的,需要有相同的数量、每个元素在相同的位置上
-
AreEquivalent
CollectionAssert.AreEquivalent(expected, actual[, comparer, message, args])
参数说明:
- expected:期望的值,其实现IEnumerable的对象
- actual:测试结果值,其实现IEnumerable的对象
- comparer:比较方式,其实现IComparer的对象
- message:可选参数,指定一个消息内容,当发生错误时会报告此消息,与args参数结合使用可以提供格式化的消息
- args:可选的参数,与message配合使用,为params object[]类型,当message参数为格式化消息时可以使用些参数指定消息中值
适用范围:
判断集合中测试值是否与期望的值是相同的,需要有相同的数量但是忽略每个元素所有的位置
-
AreNotEqual
CollectionAssert.AreEqual(expected, actual[, comparer, message, args])
参数说明:
- expected:期望的值,其实现IEnumerable的对象
- actual:测试结果值,其实现IEnumerable的对象
- comparer:比较方式,其实现IComparer的对象
- message:可选参数,指定一个消息内容,当发生错误时会报告此消息,与args参数结合使用可以提供格式化的消息
- args:可选的参数,与message配合使用,为params object[]类型,当message参数为格式化消息时可以使用些参数指定消息中值
适用范围:
判断集合中测试值是否与期望的值是不相同的,元素的数量不同,位置不同均认为是不相同的
-
AreNotEquivalent
CollectionAssert.AreEquivalent(expected, actual[, comparer, message, args])
参数说明:
- expected:期望的值,其实现IEnumerable的对象
- actual:测试结果值,其实现IEnumerable的对象
- comparer:比较方式,其实现IComparer的对象
- message:可选参数,指定一个消息内容,当发生错误时会报告此消息,与args参数结合使用可以提供格式化的消息
- args:可选的参数,与message配合使用,为params object[]类型,当message参数为格式化消息时可以使用些参数指定消息中值
适用范围:
判断集合中测试值是否与期望的值是不相同的,判断时会忽略每个元素位置
-
Contains
CollectionAssert.Contains(collection, actual[, message, args])
参数说明:
- expected:期望的值,其实现IEnumerable的对象
- actual:测试结果object对象
- message:可选参数,指定一个消息内容,当发生错误时会报告此消息,与args参数结合使用可以提供格式化的消息
- args:可选的参数,与message配合使用,为params object[]类型,当message参数为格式化消息时可以使用些参数指定消息中值
适用范围:
判断测试结果是否包括于指定的集合中
-
DoesNotContain
CollectionAssert.DoesNotContain(collection, actual[, message, args])
参数说明:
- expected:期望的值,其实现IEnumerable的对象
- actual:测试结果object对象
- message:可选参数,指定一个消息内容,当发生错误时会报告此消息,与args参数结合使用可以提供格式化的消息
- args:可选的参数,与message配合使用,为params object[]类型,当message参数为格式化消息时可以使用些参数指定消息中值
适用范围:
判断测试结果是否不包括于指定的集合中
-
IsNotSubsetOf
CollectionAssert.IsNotSubsetOf(subset, superset[, message, args])
参数说明:
- subset:期望的值,子集判断对象,其实现IEnumerable的对象
- superset:测试结果,其实现IEnumerable的对象
- message:可选参数,指定一个消息内容,当发生错误时会报告此消息,与args参数结合使用可以提供格式化的消息
- args:可选的参数,与message配合使用,为params object[]类型,当message参数为格式化消息时可以使用些参数指定消息中值
适用范围:
判断期望的集合是否不是测试结果的子集
-
IsSubsetOf
CollectionAssert.IsSubsetOf(subset, superset[, message, args])
参数说明:
- subset:期望的值,子集判断对象,其实现IEnumerable的对象
- superset:测试结果,其实现IEnumerable的对象
- message:可选参数,指定一个消息内容,当发生错误时会报告此消息,与args参数结合使用可以提供格式化的消息
- args:可选的参数,与message配合使用,为params object[]类型,当message参数为格式化消息时可以使用些参数指定消息中值
适用范围:
判断期望的集合是否是测试结果的子集
-
IsNotSupersetOf
CollectionAssert.IsNotSupersetOf(superset,subset[, message, args])
参数说明:
- superset:期望的值,子集判断对象,其实现IEnumerable的对象
- subset:测试结果,其实现IEnumerable的对象
- message:可选参数,指定一个消息内容,当发生错误时会报告此消息,与args参数结合使用可以提供格式化的消息
- args:可选的参数,与message配合使用,为params object[]类型,当message参数为格式化消息时可以使用些参数指定消息中值
适用范围:
判断测试结果是否不是期望集合的子集
-
IsSupersetOf
CollectionAssert.IsSupersetOf(superset,subset[, message, args])
参数说明:
- superset:期望的值,子集判断对象,其实现IEnumerable的对象
- subset:测试结果,其实现IEnumerable的对象
- message:可选参数,指定一个消息内容,当发生错误时会报告此消息,与args参数结合使用可以提供格式化的消息
- args:可选的参数,与message配合使用,为params object[]类型,当message参数为格式化消息时可以使用些参数指定消息中值
适用范围:
判断测试结果是否是期望集合的子集
-
IsEmpty
CollectionAssert.IsEmpty(collection[, message, args])
参数说明:
- collection:测试结果,其实现IEnumerable的对象
- message:可选参数,指定一个消息内容,当发生错误时会报告此消息,与args参数结合使用可以提供格式化的消息
- args:可选的参数,与message配合使用,为params object[]类型,当message参数为格式化消息时可以使用些参数指定消息中值
适用范围:
判断测试结果是否是一个空的集合
-
IsNotEmpty
CollectionAssert.IsNotEmpty(collection[, message, args])
参数说明:
- collection:测试结果,其实现IEnumerable的对象
- message:可选参数,指定一个消息内容,当发生错误时会报告此消息,与args参数结合使用可以提供格式化的消息
- args:可选的参数,与message配合使用,为params object[]类型,当message参数为格式化消息时可以使用些参数指定消息中值
适用范围:
判断测试结果是否不是一个空的集合
-
IsOrdered
CollectionAssert.IsOrdered(collection[, comparer, message, args])
参数说明:
- collection:测试结果,其实现IEnumerable的对象
- comparer:比较方式,其实现IComparer的对象
- message:可选参数,指定一个消息内容,当发生错误时会报告此消息,与args参数结合使用可以提供格式化的消息
- args:可选的参数,与message配合使用,为params object[]类型,当message参数为格式化消息时可以使用些参数指定消息中值
适用范围:
判断测试结果集合是否是有序的
- Other(其它断言)
- Pass
- Fail
- Warn
- Ignore
- Inconclusive
- Contains
- Multiple
DirectoryAssert断言
-
AreEqual
DirectoryAssert.AreEqual(expected,actual[, message, args])
参数说明:
- expected:期望的值,一个DirectoryInfo参数
- actual:被测试代码产生的实际对象
- message:可选参数,指定一个消息内容,当发生错误时会报告此消息,与args参数结合使用可以提供格式化的消息
- args:可选的参数,与message配合使用,为params object[]类型,当message参数为格式化消息时可以使用些参数指定消息中值
适用范围:
适用于DirectoryInfo类型的值,以判断是否指向同一目录
-
AreNotEqual
DirectoryAssert.AreNotEqual(expected,actual[, message, args])
参数说明:
- expected:期望的值,一个DirectoryInfo参数
- actual:被测试代码产生的实际对象
- message:可选参数,指定一个消息内容,当发生错误时会报告此消息,与args参数结合使用可以提供格式化的消息
- args:可选的参数,与message配合使用,为params object[]类型,当message参数为格式化消息时可以使用些参数指定消息中值
适用范围:
适用于DirectoryInfo类型的值,以判断是否指向不同的目录
-
Exists
DirectoryAssert.Exists(actual[, message, args])
参数说明:
- actual:被测试代码产生的实际DirectoryInfo对象
- message:可选参数,指定一个消息内容,当发生错误时会报告此消息,与args参数结合使用可以提供格式化的消息
- args:可选的参数,与message配合使用,为params object[]类型,当message参数为格式化消息时可以使用些参数指定消息中值
适用范围:
适用于DirectoryInfo类型的值,以判断目录是否存在
-
DoesNotExist
DirectoryAssert.DoesNotExist(actual[, message, args])
参数说明:
- actual:被测试代码产生的实际DirectoryInfo对象
- message:可选参数,指定一个消息内容,当发生错误时会报告此消息,与args参数结合使用可以提供格式化的消息
- args:可选的参数,与message配合使用,为params object[]类型,当message参数为格式化消息时可以使用些参数指定消息中值
适用范围:
适用于DirectoryInfo类型的值,以判断目录是否不存在
StringAssert断言
-
Contains
StringAssert.Contains(expected,actual[, message, args])
参数说明:
- expected:期望string值
- actual:被测试代码产生的string值
- message:可选参数,指定一个消息内容,当发生错误时会报告此消息,与args参数结合使用可以提供格式化的消息
- args:可选的参数,与message配合使用,为params object[]类型,当message参数为格式化消息时可以使用些参数指定消息中值
适用范围:
判断测试actual字符串中是否包含expected字符串
-
DoesNotContain
StringAssert.DoesNotContain(expected,actual[, message, args])
参数说明:
- expected:期望string值
- actual:被测试代码产生的string值
- message:可选参数,指定一个消息内容,当发生错误时会报告此消息,与args参数结合使用可以提供格式化的消息
- args:可选的参数,与message配合使用,为params object[]类型,当message参数为格式化消息时可以使用些参数指定消息中值
适用范围:
判断测试actual字符串中是否不包含expected字符串
-
StartsWith
StringAssert.StartsWith(expected,actual[, message, args])
参数说明:
- expected:期望string值
- actual:被测试代码产生的string值
- message:可选参数,指定一个消息内容,当发生错误时会报告此消息,与args参数结合使用可以提供格式化的消息
- args:可选的参数,与message配合使用,为params object[]类型,当message参数为格式化消息时可以使用些参数指定消息中值
适用范围:
判断测试actual字符串是否以expected开始
-
DoesNotStartWith
StringAssert.DoesNotStartWith(expected,actual[, message, args])
参数说明:
- expected:期望string值
- actual:被测试代码产生的string值
- message:可选参数,指定一个消息内容,当发生错误时会报告此消息,与args参数结合使用可以提供格式化的消息
- args:可选的参数,与message配合使用,为params object[]类型,当message参数为格式化消息时可以使用些参数指定消息中值
适用范围:
判断测试actual字符串是否不以expected开始
-
EndsWith
StringAssert.EndsWith(expected,actual[, message, args])
参数说明:
- expected:期望string值
- actual:被测试代码产生的string值
- message:可选参数,指定一个消息内容,当发生错误时会报告此消息,与args参数结合使用可以提供格式化的消息
- args:可选的参数,与message配合使用,为params object[]类型,当message参数为格式化消息时可以使用些参数指定消息中值
适用范围:
判断测试actual字符串是否以expected结尾
-
DoesNotEndWith
StringAssert.DoesNotEndWith(expected,actual[, message, args])
参数说明:
- expected:期望string值
- actual:被测试代码产生的string值
- message:可选参数,指定一个消息内容,当发生错误时会报告此消息,与args参数结合使用可以提供格式化的消息
- args:可选的参数,与message配合使用,为params object[]类型,当message参数为格式化消息时可以使用些参数指定消息中值
适用范围:
判断测试actual字符串是否不以expected结尾
-
AreEqualIgnoringCase
StringAssert.AreEqualIgnoringCase(expected,actual[, message, args])
参数说明:
- expected:期望string值
- actual:被测试代码产生的string值
- message:可选参数,指定一个消息内容,当发生错误时会报告此消息,与args参数结合使用可以提供格式化的消息
- args:可选的参数,与message配合使用,为params object[]类型,当message参数为格式化消息时可以使用些参数指定消息中值
适用范围:
在忽略文本大小写的情况下,进行判断结果是否与期望的值相同
-
AreNotEqualIgnoringCase
StringAssert.AreNotEqualIgnoringCase(expected,actual[, message, args])
参数说明:
- expected:期望string值
- actual:被测试代码产生的string值
- message:可选参数,指定一个消息内容,当发生错误时会报告此消息,与args参数结合使用可以提供格式化的消息
- args:可选的参数,与message配合使用,为params object[]类型,当message参数为格式化消息时可以使用些参数指定消息中值
适用范围:
在忽略文本大小写的情况下,进行判断结果是否与期望的值不相同
-
IsMatch
StringAssert.IsMatch(pattern,actual[, message, args])
参数说明:
- pattern:用于测试匹配的正则表达式
- actual:被测试代码产生的string值
- message:可选参数,指定一个消息内容,当发生错误时会报告此消息,与args参数结合使用可以提供格式化的消息
- args:可选的参数,与message配合使用,为params object[]类型,当message参数为格式化消息时可以使用些参数指定消息中值
适用范围:
用于判断结果是否符合指定的正式则表式
-
DoesNotMatch
StringAssert.DoesNotMatch(pattern,actual[, message, args])
参数说明:
- pattern:用于测试匹配的正则表达式
- actual:被测试代码产生的string值
- message:可选参数,指定一个消息内容,当发生错误时会报告此消息,与args参数结合使用可以提供格式化的消息
- args:可选的参数,与message配合使用,为params object[]类型,当message参数为格式化消息时可以使用些参数指定消息中值
适用范围:
用于判断结果是否不符合指定的正式则表式
FileAssert断言
-
AreEqual
FileAssert.AreEqual(expected,actual[, message, args])
参数说明:
- expected:期望的值,一个Stream,FileInfo,指向文件路径string参数,一般情况下采用硬编码的方式指定
- actual:被测试代码产生的实际对象
- message:可选参数,指定一个消息内容,当发生错误时会报告此消息,与args参数结合使用可以提供格式化的消息
- args:可选的参数,与message配合使用,为params object[]类型,当message参数为格式化消息时可以使用些参数指定消息中值
适用范围:
适用于Stream,FileInfo,指向文件路径string参数,判断两个文件是否相同,如果两个值为null或者拥有相同的字节则认为是相同的
-
AreNotEqual
FileAssert.AreNotEqual(expected,actual[, message, args])
参数说明:
- expected:期望的值,一个Stream,FileInfo,指向文件路径string参数,一般情况下采用硬编码的方式指定
- actual:被测试代码产生的实际对象
- message:可选参数,指定一个消息内容,当发生错误时会报告此消息,与args参数结合使用可以提供格式化的消息
- args:可选的参数,与message配合使用,为params object[]类型,当message参数为格式化消息时可以使用些参数指定消息中值
适用范围:
适用于Stream,FileInfo,指向文件路径string参数,判断两个文件是否不相同
-
Exists
FileAssert.Exists(actual[, message, args])
参数说明:
- actual:被测试代码产生的实际对象,一个FileInfo,指向文件路径string参数
- message:可选参数,指定一个消息内容,当发生错误时会报告此消息,与args参数结合使用可以提供格式化的消息
- args:可选的参数,与message配合使用,为params object[]类型,当message参数为格式化消息时可以使用些参数指定消息中值
适用范围:
适用于FileInfo,指向文件路径string参数,判断文件是否存在
-
DoesNotExist
FileAssert.DoesNotExist(actual[, message, args])
参数说明:
- actual:被测试代码产生的实际对象,一个FileInfo,指向文件路径string参数
- message:可选参数,指定一个消息内容,当发生错误时会报告此消息,与args参数结合使用可以提供格式化的消息
- args:可选的参数,与message配合使用,为params object[]类型,当message参数为格式化消息时可以使用些参数指定消息中值
适用范围:
适用于FileInfo,指向文件路径string参数,判断文件是否不存在
章节
参考资料
标题:Unity中使用NUnit进行单元测试 第二章:断言(Assert)详解
作者:liyubin
地址:http://www.liyubin.com/articles/2019/05/21/1558433994210.html