when

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

Задайте макет объекта поведение метода

Синтаксис

when(behavior,action)

Описание

when(behavior,action) задает действие, которое принимает метод объекта mock, когда он вызывается с входами, заданными как behavior.

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

расширить все

Поведение макета, заданное как matlab.mock.MethodCallBehavior образец. Создание образца matlab.mock.MethodCallBehavior, вызовите метод объекта поведения.

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

Определенное действие, заданное как образец matlab.mock.actions.AssignOutputs, matlab.mock.actions.Invoke, matlab.mock.actions.DoNothing, или matlab.mock.actions.ThrowException.

Пример: AssignOutputs(7,13,42)

Пример: ThrowException(MException('Account:deposit:Negative','Deposit amount must be positive.'))

Примеры

расширить все

Создайте макет для класса треугольника. У макет есть один метод, sideLengths.

import matlab.mock.actions.AssignOutputs;
testCase = matlab.mock.TestCase.forInteractiveUse;
[mock,behavior] = testCase.createMock('AddedMethods',"sideLengths");

Настройте поведение. Независимо от входов sideLengths метод, макет возвращает значения 2, 3 и 4.

when(withAnyInputs(behavior.sideLengths),AssignOutputs(2,3,4))

Вызовите sideLengths метод объекта mock.

[a,b,c] = mock.sideLengths
a = 2
b = 3
c = 4

Вызовите sideLengths снова метод с использованием различных входов и только двух выходов.

[a,b] = mock.sideLengths(13,"inputText")
a = 2
b = 3
Введенный в R2017a