exponenta event banner

тогда

Класс: 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.DoNothing, или 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), ...
    AssignOutputs(0).then(Invoke(@(~)randi(6))))

Назовите насмешку roll способ трижды.

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

Совет

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

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