assignOutputsWhen

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

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

Синтаксис

assignOutputsWhen (testcase, поведение, A1...)

Описание

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

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

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

Образец тестового примера, заданный как объект matlab.mock.TestCase.

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

Пример: доберитесь (поведение. 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 класса PropertyGetBehavior или MethodCallBehavior. Например, следующие блоки кода функционально эквивалентны.

% 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

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