then
类: matlab.mock.actions.StoreValue
命名空间: matlab.mock.actions
mock 对象交互触发的动作,或者是接在存储属性值后的动作
语法
then(action1)
then(action1,action2)
输入参数
action1
— 定义的动作
matlab.mock.actions.StoreValue
的实例
定义的动作,指定为 matlab.mock.actions.StoreValue
的实例。
action2
— 第二个定义的动作
matlab.mock.actions.DoNothing
的实例 | matlab.mock.actions.ThrowException
的实例
第二个定义的动作,指定为 matlab.mock.actions.DoNothing
或 matlab.mock.actions.ThrowException
的实例。
示例: action2 = DoNothing
示例: action2 = ThrowException(MException('Account:deposit:Negative','Deposit amount must be positive.'))
示例
将值序列存储到 mock 属性
为 bank account 类创建一个 mock。
testCase = matlab.mock.TestCase.forInteractiveUse; [mock,behavior] = testCase.createMock('AddedProperties',"IsOpen");
指定其行为。允许 IsOpen
属性设置一次,然后引发异常。
import matlab.mock.actions.StoreValue import matlab.mock.actions.ThrowException when(set(behavior.IsOpen),StoreValue().then(ThrowException( ... MException('Account:setValue:tooMany','Value set too many times.'))))
使用 mock。
mock.IsOpen = false
mock = Mock with properties: IsOpen: 0
mock.IsOpen = true
Error using matlab.mock.internal.MockContext/createMockObject/mockPropertySetCallback (line 429)
Value set too many times.
提示
每次调用
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)