文档

matlab.mock.constraints.WasAccessed类

包:matlab.mock.constraints

约束决定属性获取访问

描述

WasAccessed约束如果实际值不是,则会产生限定失败PropertyBehavior实例对应的属性PropertyBehavior未被访问指定的次数。

一个属性被访问的次数包括MATLAB®隐式访问属性。例如,如果您显示一个模拟对象,MATLAB将访问对象属性来显示它们的值。

建设

constraint = wasaccess提供确定属性获取访问的约束。如果至少访问了一次属性,则满足约束。若要限定未访问某个属性,请否定WasAccessed使用波浪线()算子。

constraint = wasaccess ('WithCount',n提供在精确访问属性时满足的约束n次了。

如果你否定WasAccessed使用此语法,如果没有准确地访问属性n随着时间的推移,这种限制消失了。例如,如果一个属性被访问了4次,~ WasAccessed (WithCount, 3)通过和~ WasAccessed (WithCount, 4)失败。

输入参数

全部展开

属性获取访问的次数,指定为整数。

属性

全部展开

属性访问计数,作为整数返回。一旦构造了约束,此属性就是只读的。您可以在约束构造期间指定它。

复制语义

价值。要了解值类如何影响复制操作,请参见复制对象

例子

全部展开

为person类创建一个mock。

testCase = matlab.mock.TestCase.forInteractiveUse;[fakePerson,behavior] = testCase.createMock(“AddedProperties”,[“名称”“年龄”]);fakePerson。Name =“大卫”;流(1,“这个人的名字是%s。”, fakePerson.Name);
这个人的名字叫大卫。

构建合格案例。

进口matlab.mock.constraints.WasAccessedtestCase.verifyThat (behavior.Name WasAccessed)
交互式验证通过。
testCase.verifyThat (behavior.Age ~ WasAccessed)
交互式验证通过。
testCase.verifyThat (behavior.Name WasAccessed (“WithCount”1))
交互式验证通过。

构建失败案例。

testCase.verifyThat (behavior.Name ~ WasAccessed)
交互验证失败。--------------------- 框架的诊断 : --------------------- 否定WasAccessed失败了。——>属性“Name”被意外访问1次(秒)。指定的属性访问:PropertyGetBehavior 。的名字
testCase.verifyThat (behavior.Age WasAccessed)
交互验证失败。--------------------- 框架的诊断 : --------------------- WasAccessed失败了。——>属性“Age”从未被访问。指定的属性访问:PropertyGetBehavior 。年龄
testCase.verifyThat (behavior.Name WasAccessed (“WithCount”5))
交互验证失败。--------------------- 框架的诊断 : --------------------- WasAccessed失败了。——>属性“Name”没有被访问预期的次数。实际属性访问次数:1预期属性访问次数:5指定属性访问:PropertyGetBehavior 。的名字

在R2017a中介绍

这个话题有帮助吗?