then

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

Действие для взаимодействия фиктивного объекта или действие, последующее за хранением значения свойства

Синтаксис

then(action1)
then(action1,action2)

Описание

then(action1) задает действие для взаимодействий фиктивного объекта.

then(action1,action2) задает действие и последующее действие для взаимодействий фиктивного объекта.

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

развернуть все

Заданное действие в виде экземпляра matlab.mock.actions.StoreValue.

Второе заданное действие в виде экземпляра matlab.mock.actions.DoNothing или matlab.mock.actions.ThrowException.

Пример: action2 = DoNothing

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

Примеры

развернуть все

Создайте макет для класса банковского счета.

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

Задайте поведение. Позвольте IsOpen свойство, которое будет установлено однажды, и затем выдает исключение.

import matlab.mock.actions.StoreValue
import matlab.mock.actions.ThrowException
when(set(behavior.IsOpen),StoreValue().then(ThrowException( ...
    MException('Account:setValue:tooMany','Value set too many times.'))))

Используйте макет.

mock.IsOpen = false
mock = 

  Mock with properties:

    IsOpen: 0
mock.IsOpen = true
Error using matlab.mock.internal.MockContext/createMockObject/mockPropertySetCallback (line 429)
Value set too many times.

Советы

  • Каждый вызов then принимает до двух действий. Чтобы задать больше последующих действий, используйте множественные вызовы then. Например, чтобы задать три действия, используйте action1.then(action2).then(action3).

Введенный в R2017a