then
类: matlab.mock.actions.ThrowException
命名空间: matlab.mock.actions
mock 对象交互触发的动作,或者是接在引发异常后的动作
语法
then(action1)
then(action1,action2)
输入参数
action1
— 定义的动作
matlab.mock.actions.ThrowException
的实例
定义的动作,指定为 matlab.mock.actions.ThrowException
的实例。
示例: action1 = ThrowException
示例: action1 = ThrowException(MException('Account:deposit:Negative','Deposit amount must be positive.'))
action2
— 第二个定义的动作
matlab.mock.actions.ThrowException
的实例 | matlab.mock.actions.AssignOutputs
的实例 | matlab.mock.actions.DoNothing
的实例 | matlab.mock.actions.Invoke
的实例 | matlab.mock.actions.ReturnStoredValue
的实例 | matlab.mock.actions.StoreValue
的实例
第二个定义的动作,指定为 matlab.mock.actions.ThrowException
、matlab.mock.actions.AssignOutputs
、matlab.mock.actions.DoNothing
、matlab.mock.actions.Invoke
、matlab.mock.actions.ReturnStoredValue
或 matlab.mock.actions.StoreValue
的实例。
示例: action2 = ThrowException
示例: action2 = AssignOutputs(7,13,42)
示例
对 mock 方法调用引发异常
为 bank account 类创建一个 mock。
testCase = matlab.mock.TestCase.forInteractiveUse; [mock,behavior] = testCase.createMock('AddedMethods',"isOpen");
指定其行为。
import matlab.mock.actions.ThrowException import matlab.mock.actions.AssignOutputs when(withExactInputs(behavior.isOpen), ... ThrowException().then(AssignOutputs(false)))
使用 mock。
isAccountOpen = mock.isOpen
Error using matlab.mock.internal.MockContext/createMockObject/mockMethodCallback (line 382)
The following method call was specified to throw an exception:
isOpen([1×1 matlab.mock.classes.Mock])
使用 mock。
isAccountOpen = mock.isOpen
isAccountOpen = logical 0
提示
每次调用
then
时最多接受两项动作。要指定更多后续动作,请多次调用then
。例如,要指定三项动作,请使用action1.then(action2).then(action3)
。
版本历史记录
在 R2017a 中推出
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)