matlab.mock.actions.Invoke class

Пакет: matlab.mock.actions

Вызовите указатель на функцию, когда метод будет назван

Описание

Чтобы указать, что среда вызывает указатель на функцию, чтобы определить выходные параметры, когда метод фиктивного объекта называется, используйте Invoke класс. Это действие отличается от AssignOutputs действие, которое возвращает значения, которые заданы, когда вы создаете AssignOutputs экземпляр.

Конструкция

action = invoke(fh) вызывает функцию, заданную fh когда метод называется.

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

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

Функция, чтобы вызвать, когда метод фиктивного объекта называется в виде указателя на функцию.

Среда передает указатель на функцию те же входные параметры, как это передает ложному методу. Поэтому fh обычно содержит список аргументов. Если функция не взаимодействует с макетом, например, путем доступа к свойству, можно использовать тильду (~) в списке аргументов, чтобы проигнорировать фиктивный объект. Среда запрашивает то же количество выходных параметров как ложный вызов метода.

Пример: @(~)randi(6)

Пример: @(cmock)myFunction('hello')

Пример: @isempty

Свойства

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

Функция, чтобы вызвать, когда метод фиктивного объекта называется, сохранила как указатель на функцию.

Методы

повторениеПовторите указатель на функцию вызова
затемДействие для взаимодействия фиктивного объекта или действие, последующее за вызовом указателя на функцию

Примеры

свернуть все

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

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

Задайте поведение, чтобы возвратить случайное целое число 1 - 6 каждых раз roll метод называется.

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

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

val = mock.roll
val = 5

Введенный в R2018b