Main Content

matlab.mock.actions.Invoke クラス

名前空間: matlab.mock.actions

メソッドの呼び出し時に関数ハンドルを呼び出す

説明

モック オブジェクト メソッドの呼び出し時に、出力値を判別するための関数ハンドルをフレームワークが呼び出すよう指定するには、Invoke クラスを使用します。このアクションは、AssignOutputs インスタンスを作成したときに定義される値を返す AssignOutputs アクションとは異なります。

構築

action = invoke(fh) は、メソッドの呼び出し時に、fh で指定した関数を呼び出します。

入力引数

すべて展開する

モック オブジェクト メソッドの呼び出し時に呼び出す関数。関数ハンドルとして指定します。

モック メソッドに渡した入力と同じものが、フレームワークによって関数ハンドルに渡されます。そのため、通常は fh には引数のリストが格納されます。プロパティにアクセスする場合など、関数がモックと相互作用を行わない場合は、チルダ (~) を引数リストで使用して、モック オブジェクトを無視することができます。モック メソッドの呼び出しと同じ数の出力がフレームワークによって要求されます。

例: @(~)randi(6)

例: @(cmock)myFunction('hello')

例: @isempty

プロパティ

すべて展開する

モック オブジェクト メソッドの呼び出し時に呼び出す関数。関数ハンドルとして格納されます。

メソッド

repeat関数ハンドルの呼び出しの繰り返し
thenモック オブジェクトの相互作用のアクション、または関数ハンドルの呼び出しの後のアクション

コピーのセマンティクス

値。値クラスがコピー操作に与える影響については、オブジェクトのコピーを参照してください。

すべて折りたたむ

6 面サイコロを表し、モックされた 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 で導入