when

Класс: matlab.mock.PropertySetBehavior
Пакет: matlab.mock

Задайте макет объекта действие набора свойств

Синтаксис

when(behavior,action)

Описание

when(behavior,action) задает действие, которое свойство объекта mock принимает, когда оно задано.

Входные параметры

расширить все

Поведение макета, заданное как matlab.mock.PropertySetBehavior образец. Создание образца matlab.mock.PropertySetBehavior, вызовите matlab.mock.PropertyBehavior.set или matlab.mock.PropertyBehavior.setToValue метод с объектом поведения.

Пример: set(myMockBehavior.MyProperty)

Пример: setToValue(myMockBehavior.MyProperty,13)

Определенное действие, заданное как образец matlab.mock.actions.StoreValue, matlab.mock.actions.DoNothing, или matlab.mock.actions.ThrowException.

Пример: StoreValue

Пример: ThrowException(MException('Account:deposit:Negative','Deposit amount must be positive.'))

Примеры

расширить все

Создайте строгий макет для класса человека. Мок имеет одно свойство, Name.

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

Настройте поведение. Когда свойство установлено, сохраните значение, и когда к свойству будет получен доступ, верните значение. Не определяя это поведение, строгие макетам выдают исключение при установке свойства или доступе к нему.

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