withNargout

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

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

Синтаксис

withNargout (n, поведение)

Описание

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

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

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

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

Пример 3

Поведение макета, заданного как matlab.mock.MethodCallBehavior Экземпляр 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

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