throwExceptionWhen

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

Выдайте исключение для взаимодействия свойства или вызова метода

Синтаксис

throwExceptionWhen (testcase, поведение)
throwExceptionWhen (testcase, поведение, исключение)

Описание

throwExceptionWhen(testcase,behavior) указывает, что макет должен выдать исключение, когда метод называется, или к свойству получают доступ или устанавливают.

throwExceptionWhen(testcase,behavior,exception) задает исключение, которое выдает макет.

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

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

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

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

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

Пример: доберитесь (поведение. MyMockedProperty)

Пример: установите (поведение. MyMockedProperty)

Исключение для среды, чтобы выдать в вызове метода или взаимодействии свойства, заданном как скалярный объект MException.

Пример: MException ('MyProduct:myID', 'Мое сообщение об исключении'.)

Примеры

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

Выдайте исключение, когда метод называется или когда к свойству получают доступ или устанавливают.

testCase = matlab.mock.TestCase.forInteractiveUse;
[mock,behavior] = testCase.createMock('AddedProperties',"PropertyFoo", ...
    'AddedMethods',"methodBar");
testCase.throwExceptionWhen(get(behavior.PropertyFoo));
testCase.throwExceptionWhen(set(behavior.PropertyFoo), ...
    MException('PropertyFoo:set', 'Do not change PropertyFoo'));
testCase.throwExceptionWhen(withAnyInputs(behavior.methodBar));

% Carry out actions
mock.PropertyFoo
mock.PropertyFoo = 123;
mock.methodBar;

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

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

% Using the throwExceptionWhen method
testCase.throwExceptionWhen(behavior.deposit(IsLessThan(0)), ...
    MException('Account:deposit:Negative', ...
    'Deposit amount must be positive.'));

% Using the ThrowException action with the when function
import matlab.mock.actions.ThrowException
when(behavior.deposit(IsLessThan(0)),ThrowException( ...
    MException('Account:deposit:Negative', ...
    'Deposit amount must be positive.')))
Однако существует больше функциональности, когда вы используете действие ThrowException. Например, можно задать различное последующее поведение для того же дразнившего объектного взаимодействия.

Введенный в R2017a

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