帮助中心帮助中心
命名空间: matlab.mock.actions
调用方法时调用函数句柄
要指定框架通过调用函数句柄来确定在调用 mock 对象方法时的输出,请使用 Invoke 类。此动作与 AssignOutputs 动作不同,后者返回在创建 AssignOutputs 实例时定义的值。
Invoke
AssignOutputs
action = invoke(fh) 在调用方法时调用 fh 指定的函数。
action = invoke(fh)
fh
全部展开
调用 mock 对象方法时调用的函数,指定为函数句柄。
框架向函数句柄传递的输入与它向 mock 方法传递的输入相同。因此,fh 通常包含一个参量列表。如果函数不与 mock 交互(例如通过访问属性进行交互),则可以在参量列表中使用波浪号 (~) 来忽略 mock 对象。框架请求输出的数量与 mock 方法调用的输出数量相同。
~
示例: @(~)randi(6)
@(~)randi(6)
示例: @(cmock)myFunction('hello')
@(cmock)myFunction('hello')
示例: @isempty
@isempty
Function
调用 mock 对象方法时调用的函数,存储为函数句柄。
值。要了解值类如何影响复制操作,请参阅复制对象。
全部折叠
创建一个 mock,用它来表示一个 6 面骰子并包含一个模拟 roll 方法的类。
roll
testCase = matlab.mock.TestCase.forInteractiveUse; [mock,behavior] = testCase.createMock("AddedMethods","roll");
定义行为以在每次调用 roll 方法时返回 1 到 6 之间的一个随机整数。
import matlab.mock.actions.Invoke when(withExactInputs(behavior.roll),Invoke(@(~)randi(6)))
调用模拟的 roll 方法。
val = mock.roll
val = 5
在 R2018b 中推出
matlab.mock.TestCase | matlab.mock.actions.AssignOutputs | when (MethodCallBehavior)
matlab.mock.TestCase
matlab.mock.actions.AssignOutputs
when (MethodCallBehavior)
您点击的链接对应于以下 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:
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Contact your local office