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>mockMethodCallback (line 663)
Deposit amount must be positive.

Error in matlab.mock.internal.MockContext>@(data)mockMethodCallback(data,catalog) (line 282)
            methodCallback = @(data)mockMethodCallback(data, catalog);

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

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

Введенный в R2017a