matlab.unittest.constraints.StructComparator 类
命名空间: matlab.unittest.constraints
结构体数组的比较器
描述
matlab.unittest.constraints.StructComparator
类提供用于比较结构体数组的比较器。要在测试中使用此比较器,请创建一个 StructComparator
实例,并将其指定为 IsEqualTo
约束构造函数的 Using
名称-值参量的值。
创建对象
描述
c = matlab.unittest.constraints.StructComparator
创建一个用于比较空结构体数组和没有字段的结构体数组的比较器。如果实际值和预期值是具有相同大小和字段的结构体数组,则满足该比较器。
c = matlab.unittest.constraints.StructComparator(
使用指定的比较器 comp
)comp
来比较结构体数组中包含的值。使用此语法时,如果实际值和预期值是具有相同大小和字段的结构体数组,并且对应字段中的值满足 comp
中的任一比较器,则满足该比较器。
c = matlab.unittest.constraints.StructComparator(___,
支持上述语法中的任何输入参量组合,且可使用一个或多个名称-值参量设置其他选项。例如,Name,Value
)c = matlab.unittest.constraints.StructComparator("Recursively",true)
创建一个比较器,该比较器将在比较结构体数组中包含的值时以递归方式运算。
输入参量
属性
示例
提示
在大多数情况下,您不需要使用
StructComparator
实例。IsEqualTo
类创建一个约束来测试各种类型的数据(包括结构体数组)相等性。当需要覆盖由
IsEqualTo
类执行的比较时,请使用StructComparator
实例。例如,如果希望在结构体数组包含非数值时比较失败,请在测试中包含StructComparator
实例。在此示例中,MATLAB® 会引发错误,因为实际和预期结构体包含非数值。import matlab.unittest.TestCase import matlab.unittest.constraints.IsEqualTo import matlab.unittest.constraints.StructComparator import matlab.unittest.constraints.NumericComparator testCase = TestCase.forInteractiveUse; exp = struct("f1",zeros(1,10),"f2",'a',"f3",{'b','c'}); act = exp; testCase.verifyThat(act,IsEqualTo(exp,"Using",StructComparator(NumericComparator)))
版本历史记录
在 R2013a 中推出