exponenta event banner

тогда

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

Действие для имитации взаимодействия с объектом или действие после создания исключения

Синтаксис

then(action1)
then(action1,action2)

Описание

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

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

Входные аргументы

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

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

Пример: action1 = ThrowException

Пример: action1 = 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.

Пример: action2 = ThrowException

Пример: action2 = 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), ...
    ThrowException().then(AssignOutputs(false)))

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

isAccountOpen = mock.isOpen

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

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

isAccountOpen = mock.isOpen
isAccountOpen =

  logical

   0

Совет

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

Представлен в R2017a