exponenta event banner

assignOutputsWhen

Класс: matlab.mock.StartCase
Пакет: 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