matlab.unittest.constraints.HasField 类
命名空间: matlab.unittest.constraints
超类: matlab.unittest.constraints.BooleanConstraint
测试结构体数组是否具有指定字段
描述
matlab.unittest.constraints.HasField
类提供一个约束来测试值是否为具有指定字段的结构体数组。
创建对象
属性
Field
— 预期字段的名称
字符向量
预期字段的名称,以字符向量形式返回。在创建约束的过程中,将此属性的值指定为字符串标量或字符向量。
属性:
GetAccess | public |
SetAccess | private |
示例
测试结构体是否具有指定的字段
使用 HasField
约束测试一个结构体。
首先,导入此示例中使用的类。
import matlab.unittest.TestCase import matlab.unittest.constraints.HasField
创建一个供交互测试的测试用例。
testCase = TestCase.forInteractiveUse;
创建一个包含两个字段的结构体。
s = struct("ID",10,"score",90);
验证 s
是具有 "ID"
字段的结构体。
testCase.verifyThat(s,HasField("ID"))
Verification passed.
测试该结构体是否有 "Score"
字段。测试失败,原因字段名称比较区分大小写。
testCase.verifyThat(s,HasField("Score"))
Verification failed. --------------------- Framework Diagnostic: --------------------- HasField failed. --> The value did not have the expected field. Actual Fieldnames: 'ID' 'score' Expected Fieldname: 'Score' Actual Value: struct with fields: ID: 10 score: 90
测试该结构体是否同时具有 "ID"
和 "score"
字段。测试通过。
testCase.verifyThat(s,HasField("ID") & HasField("score"))
Verification passed.
确认该结构体不包含 "Name"
字段。
testCase.verifyThat(s,~HasField("Name"))
Verification passed.
版本历史记录
在 R2013b 中推出
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)