затем

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

Синтаксис

затем (action1)
затем (action1, action2)

Описание

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

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

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

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

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

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

Пример: StoreValue

Пример: ThrowException (MException ('Account:deposit:Negative', 'Сумма вклада должна быть положительной'.))

Примеры

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

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

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),then(StoreValue,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>mockPropertySetCallback (line 706)
Value set too many times.

Error in matlab.mock.internal.MockContext>@(name,obj,value)mockPropertySetCallback(name,obj,value,catalog)
(line 284)
            propertySetCallback = @(name, obj, value)mockPropertySetCallback(name, obj, value, catalog);

Советы

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

Введенный в R2017a

Была ли эта тема полезной?