assignOutputsWhen

Класс: 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