matlab.mock.actions. Вызовите класс

Пакет: matlab.mock.actions

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

Описание

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

Конструкция

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

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

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

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

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

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

Пример: (блуза) MyFunction ('привет')

Пример: 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

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