withNargout

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

Задайте вызов метода фиктивного объекта с заданным количеством выходных аргументов

Синтаксис

callBehavior = withNargout(n,behavior)

Описание

callBehavior = withNargout(n,behavior) возвращает MethodCallBehavior объект задать поведение, когда метод фиктивного объекта вызван заданным количеством выходных аргументов.

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

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

Количество выходных параметров из метода фиктивного объекта в виде целого числа.

Пример 3

Поведение макета в виде matlab.mock.MethodCallBehavior экземпляр. Создать экземпляр matlab.mock.MethodCallBehavior, вызовите метод объекта поведения.

Пример: myMockBehavior.myMockedMethod

Примеры

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

Создайте макет для треугольного класса.

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

Настройте поведение. Если sideLengths метод вызван только объектом, как введено и одним выходом, затем возвратите массив трех значений. Если это вызвано только объектом, как введено и тремя выходными параметрами, то возвратите эти три значения. В противном случае возвратите значение по умолчанию пустого массива.

import matlab.mock.actions.AssignOutputs
when(withNargout(1,withExactInputs(behavior.sideLengths)), ...
    AssignOutputs([1 2 3]))
when(withNargout(3,withExactInputs(behavior.sideLengths)), ...
    AssignOutputs(1,2,3))

Вызовите sideLengths метод только с объектом как вход и один выход.

len = mockQuad.sideLengths
len = 1×3

     1     2     3

Проверьте что sideLengths метод был назван, по крайней мере, однажды с одним выходным аргументом.

import matlab.mock.constraints.WasCalled
testCase.verifyThat(withNargout(1, ...
    withExactInputs(behavior.sideLengths)),WasCalled)
Verification passed.

Проверьте что sideLengths метод не был вызван тремя выходными аргументами.

testCase.verifyThat(withNargout(3, ...
    withExactInputs(behavior.sideLengths)),~WasCalled)
Verification passed.
Введенный в R2017a
Для просмотра документации необходимо авторизоваться на сайте