assignOutputsWhen

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

Задайте возвращаемые значения для доступа к свойству или вызова метода

Синтаксис

assignOutputsWhen(testcase,behavior,A1,...,An)

Описание

assignOutputsWhen(testcase,behavior,A1,...,An) задает значения, чтобы возвратиться для названного метода, или свойство получило доступ.

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

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

Экземпляр теста в виде matlab.mock.TestCase объект.

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

Пример: get(behavior.MyMockedProperty)

Пример: withExactInputs(behavior.myMockedMethod)

Заданные возвращаемые значения в виде скаляров, векторов, матриц или многомерных массивов. Возвращаемые значения могут быть любым типом данных и относиться к свойству или методу, заданному behavior.

Пример: "mySpecifiedValue"

Пример: 7,13,42

Пример: [1 2 3;4 5 6]

Примеры

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

Присвоение Выходных параметров.

testCase = matlab.mock.TestCase.forInteractiveUse;
[mock, behavior] = testCase.createMock('AddedProperties',"PropertyFoo", ...
    'AddedMethods',"methodBar");
testCase.assignOutputsWhen(get(behavior.PropertyFoo), 'abc');
testCase.assignOutputsWhen(withExactInputs(behavior.methodBar), 1, 2, 3);

% Carry out actions
mock.PropertyFoo
[out1,out2,out3] = mock.methodBar

Альтернативы

Используя assignOutputsWhen метод функционально эквивалентен использованию matlab.mock.actions.AssignOutputs действие с when метод MethodCallBehavior или PropertyGetBehavior класс. Например, следующие блоки кода функционально эквивалентны.

% Using the assignOutputsWhen method
testCase.assignOutputsWhen(get(behavior.PropertyFoo),'abc');
testCase.assignOutputsWhen(withExactInputs(behavior.methodBar),1,2,3);

% Using the AssignOutputs action with the when function
import matlab.mock.actions.AssignOutputs;
when(get(behavior.PropertyFoo),AssignOutputs('abc'));
when(withExactInputs(behavior.methodBar),AssignOutputs(1,2,3));
Однако существует больше функциональности, когда вы используете AssignOutputs действие. Например, можно задать различное последующее поведение для того же дразнившего объектного взаимодействия.

Смотрите также

Введенный в R2017a