Unity中使用NUnit进行单元测试 第二章:断言(Assert)详解

  |   0 评论   |   0 浏览

简介

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几种类型来详细的阐述。

  1. 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

  1. 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类型,用于判断其值是否为负数

  1. 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参数为格式化消息时可以使用些参数指定消息中值

    适用范围:

    适用于引用类型的对象,用于判断测试结果对象与指定的对象是否是不同的对象

  1. Exception(异常断言)
  • DoesNotThrow
  • Catch
  • Throws
  1. 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参数为格式化消息时可以使用些参数指定消息中值

    适用范围:

    判断测试结果集合是否是有序的

  1. 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