Main Content

withNargout

类: matlab.mock.MethodCallBehavior
命名空间: matlab.mock

使用定义的输出参量数量指定 mock 对象方法调用

语法

callBehavior = withNargout(n,behavior)

说明

callBehavior = withNargout(n,behavior) 返回 MethodCallBehavior 对象,用于定义在带定义数量的输出参量调用 mock 对象方法时的行为。

输入参数

全部展开

mock 对象方法的输出数量,指定为整数。

示例: 3

mock 的行为,指定为 matlab.mock.MethodCallBehavior 实例。要创建 matlab.mock.MethodCallBehavior 实例,请调用行为对象的方法。

示例: myMockBehavior.myMockedMethod

示例

全部展开

为 triangle 类创建一个 mock。

testCase = matlab.mock.TestCase.forInteractiveUse;
[mockQuad,behavior] = testCase.createMock('AddedMethods',"sideLengths");

设置其行为。如果只使用对象作为输入和一个输出调用 sideLengths 方法,则返回一个包含三个值的数组。如果只使用对象作为输入和三个输出调用该方法,则返回三个值。否则,返回默认值,即一个空数组。

import matlab.mock.actions.AssignOutputs
when(withNargout(1,withExactInputs(behavior.sideLengths)), ...
    AssignOutputs([1 2 3]))
when(withNargout(3,withExactInputs(behavior.sideLengths)), ...
    AssignOutputs(1,2,3))

只使用对象作为输入和一个输出调用 sideLengths 方法。

len = mockQuad.sideLengths
len = 1×3

     1     2     3

验证至少使用一个输出参量调用过一次 sideLengths 方法。

import matlab.mock.constraints.WasCalled
testCase.verifyThat(withNargout(1, ...
    withExactInputs(behavior.sideLengths)),WasCalled)
Verification passed.

验证未使用三个输出参量调用过 sideLengths 方法。

testCase.verifyThat(withNargout(3, ...
    withExactInputs(behavior.sideLengths)),~WasCalled)
Verification passed.

版本历史记录

在 R2017a 中推出