Main Content

matlab.mock.actions.ThrowException 类

命名空间: matlab.mock.actions

在调用方法或者设置或访问属性时引发异常

描述

要指定框架在调用 mock 对象方法或者设置或访问 mock 对象属性时引发异常,请使用 ThrowException 类。您可以使用此动作将错误条件注入接受测试的系统。

构造

action = ThrowException 会在调用方法或者设置或访问属性时引发异常。

action = ThrowException(exception) 指定 mock 引发的异常。

输入参量

全部展开

在出现方法调用或属性交互时框架要引发的异常,指定为标量 MException 对象。

示例: MException('MyProduct:myID','My exception message.')

方法

repeat重复引发异常
thenmock 对象交互触发的动作,或者是接在引发异常后的动作

复制语义

值。要了解值类如何影响复制操作,请参阅复制对象

示例

全部折叠

为 bank account 类创建一个 mock。

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。

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

备选方法

对于简单的输出定义,您可以使用 matlab.mock.TestCase 类的 throwExceptionWhen 方法。不过,在使用 ThrowException 动作时,会有更多功能。

版本历史记录

在 R2017a 中推出