then

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

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

Синтаксис

then(action1)
then(action1,action2)

Описание

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

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

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

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

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

Пример: ThrowException

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

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

Пример: ThrowException

Пример: AssignOutputs(7,13,42)

Примеры

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

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

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

Задайте поведение.

import matlab.mock.actions.ThrowException
import matlab.mock.actions.AssignOutputs
when(withExactInputs(behavior.isOpen),then(ThrowException,AssignOutputs(false)));

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

isAccountOpen = mock.isOpen
Error using matlab.mock.internal.MockContext>mockMethodCallback (line 663)
The following method call was specified to throw an exception:
	isOpen([1×1 matlab.mock.classes.Mock])

Error in matlab.mock.internal.MockContext>@(data)mockMethodCallback(data,catalog) (line 282)
            methodCallback = @(data)mockMethodCallback(data, catalog);

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

isAccountOpen = mock.isOpen
isAccountOpen =

  logical

   0

Советы

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

Введенный в R2017a

Для просмотра документации необходимо авторизоваться на сайте