затем

Класс: matlab.mock.actions. Вызов
Пакет: matlab.mock.actions

Синтаксис

затем (action1)
затем (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

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