Main Content

when

类: matlab.mock.PropertySetBehavior
命名空间: matlab.mock

指定 mock 对象属性的设置操作

语法

when(behavior,action)

说明

when(behavior,action) 指定在设置 mock 对象属性时该属性执行的操作。

输入参数

全部展开

mock 的行为,指定为 matlab.mock.PropertySetBehavior 实例。要创建 matlab.mock.PropertySetBehavior 实例,请使用行为对象调用 matlab.mock.PropertyBehavior.setmatlab.mock.PropertyBehavior.setToValue 方法。

示例: set(myMockBehavior.MyProperty)

示例: setToValue(myMockBehavior.MyProperty,13)

定义的动作,指定为 matlab.mock.actions.StoreValuematlab.mock.actions.DoNothingmatlab.mock.actions.ThrowException 的实例。

示例: StoreValue

示例: ThrowException(MException('Account:deposit:Negative','Deposit amount must be positive.'))

示例

全部展开

为 person 类创建一个严格 mock。该 mock 有一个属性,即 Name

testCase = matlab.mock.TestCase.forInteractiveUse;
[mock,behavior] = testCase.createMock('AddedProperties',"Name",'Strict',true);

设置其行为。设置该属性时,将存储值;访问该属性时,将返回值。如果不定义此行为,在设置或访问属性时,严格 mock 会引发异常。

import matlab.mock.actions.StoreValue
import matlab.mock.actions.ReturnStoredValue
when(set(behavior.Name),StoreValue)
when(get(behavior.Name),ReturnStoredValue)

设置属性。由于我们要显示结果,因此属性访问是隐式的。

mock.Name = "David"
mock = 
  Mock with properties:

    Name: "David"

版本历史记录

在 R2017a 中推出