exponenta event banner

matlab.mock.actions.ThrowException класс

Пакет: matlab.mock.actions

Создать исключение при вызове метода или при установке свойства или обращении к нему

Описание

Чтобы указать, что фреймворк создает исключение при вызове метода имитационного объекта или при установке или обращении к свойству имитационного объекта, используйте команду ThrowException класс. Это действие можно использовать для ввода условий ошибок в тестируемую систему.

Строительство

action = ThrowException создает исключение при вызове метода или при установке свойства или обращении к нему.

action = ThrowException(exception) указывает исключение, создаваемое макетом.

Входные аргументы

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

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

Пример: MException('MyProduct:myID','My exception message.')

Методы

повторитьсяПовторить исключение метания
тогдаДействие для имитации взаимодействия с объектом или действие после создания исключения

Копирование семантики

Значение. Сведения о том, как классы значений влияют на операции копирования, см. в разделе Копирование объектов.

Примеры

свернуть все

Создайте макет для класса банковских счетов.

testCase = matlab.mock.TestCase.forInteractiveUse;
[mock,behavior] = testCase.createMock('AddedMethods',"deposit");

Настройка поведения.

import matlab.mock.actions.ThrowException
import matlab.unittest.constraints.IsLessThan
when(behavior.deposit(IsLessThan(0)),ThrowException(MException( ...
    'Account:deposit:Negative','Deposit amount must be positive.')))

Используйте макет.

mock.deposit(10)
mock.deposit(-10)
Error using matlab.mock.internal.MockContext/createMockObject/mockMethodCallback (line 382)
Deposit amount must be positive.

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

Для простого определения выходных данных можно использовать throwExceptionWhen способ matlab.mock.TestCase класс. Однако при использовании ThrowException действия.

Представлен в R2017a