matlab.mock.actions.ThrowException class

Пакет: 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