メインコンテンツ

withNargout

クラス: matlab.mock.MethodCallBehavior
名前空間: matlab.mock

定義された数の出力引数を使用するモック オブジェクト メソッドの呼び出しを指定

構文

callBehavior = withNargout(n,behavior)

説明

callBehavior = withNargout(n,behavior) は、定義された数の出力引数を使用してモック オブジェクト メソッドが呼び出された場合に、MethodCallBehavior オブジェクトを返して動作を定義します。

入力引数

すべて展開する

モック オブジェクト メソッドからの出力数。整数として指定します。

例: 3

モックの動作。matlab.mock.MethodCallBehavior インスタンスとして指定します。matlab.mock.MethodCallBehavior のインスタンスを作成するには、behavior オブジェクトのメソッドを呼び出します。

例: myMockBehavior.myMockedMethod

すべて展開する

三角形クラスのモックを作成します。

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

動作を設定します。sideLengths メソッドがオブジェクトのみを入力として呼び出され、出力が 1 つしかない場合、3 つの値の配列を返します。このメソッドがオブジェクトのみを入力として呼び出され、出力が 3 つある場合、3 つの値が返されます。それ以外の場合、既定値である空の配列が返されます。

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 メソッドを、オブジェクトのみを入力とし、1 つの出力を指定して呼び出します。

len = mockQuad.sideLengths
len = 1×3

     1     2     3

sideLengths メソッドが 1 つの出力引数を使用して 1 回以上呼び出されていることを検証します。

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

sideLengths メソッドが 3 つの出力引数を使用して呼び出されていないことを検証します。

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

バージョン履歴

R2017a で導入