then

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

Синтаксис

then(action1)
then(action1,action2)

Описание

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

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

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

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

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

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

Примеры

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

Создайте макет для класса, который представляет 6-стороннее, умирают, включая дразнивший roll метод.

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

Настройте поведение для roll метод. Возвратитесь 0 в первый раз, когда это запускается. На последующих запусках вызовите randi функционируйте, чтобы возвратить случайное целое число между 1 и 6.

import matlab.mock.actions.AssignOutputs
import matlab.mock.actions.Invoke
when(withExactInputs(behavior.roll),...
    then(AssignOutputs(0),...
        then(Invoke(@(~)randi(6)))))

Вызовите дразнивший roll метод три раза.

val = mock.roll
val = 0
val = mock.roll
val = 5
val = mock.roll
val = 6

Советы

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

Смотрите также

Введенный в R2018b

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