Main Content

assignOutputsWhen

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

メソッドの呼び出しやプロパティへのアクセスに対する戻り値を定義

構文

assignOutputsWhen(testcase,behavior,A1,...,An)

説明

assignOutputsWhen(testcase,behavior,A1,...,An) は、メソッドの呼び出しやプロパティへのアクセスに対して返す値を定義します。

入力引数

すべて展開する

テスト ケースのインスタンス。matlab.mock.TestCase オブジェクトとして指定します。

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

例: get(behavior.MyMockedProperty)

例: withExactInputs(behavior.myMockedMethod)

定義された戻り値。スカラー、ベクトル、行列または多次元配列として指定します。戻り値はどのデータ型にすることもできます。また、behavior により指定されたプロパティに関連します。

例: "mySpecifiedValue"

例: 7,13,42

例: [1 2 3;4 5 6]

すべて展開する

出力を割り当てます。

testCase = matlab.mock.TestCase.forInteractiveUse;
[mock, behavior] = testCase.createMock('AddedProperties',"PropertyFoo", ...
    'AddedMethods',"methodBar");
testCase.assignOutputsWhen(get(behavior.PropertyFoo), 'abc');
testCase.assignOutputsWhen(withExactInputs(behavior.methodBar), 1, 2, 3);

% Carry out actions
mock.PropertyFoo
[out1,out2,out3] = mock.methodBar

代替方法

assignOutputsWhen メソッドの使用は、matlab.mock.actions.AssignOutputs アクションを MethodCallBehavior クラスまたは PropertyGetBehavior クラスの when メソッドとあわせて使用するのと機能的には同じです。たとえば、次のコード ブロックは機能的に等価です。

% Using the assignOutputsWhen method
testCase.assignOutputsWhen(get(behavior.PropertyFoo),'abc');
testCase.assignOutputsWhen(withExactInputs(behavior.methodBar),1,2,3);

% Using the AssignOutputs action with the when function
import matlab.mock.actions.AssignOutputs;
when(get(behavior.PropertyFoo),AssignOutputs('abc'));
when(withExactInputs(behavior.methodBar),AssignOutputs(1,2,3));
ただし、AssignOutputs アクションを使用すると、さらに多くの機能を使用できます。たとえば、同じモック オブジェクトの相互作用に対して異なる後続の動作を指定することができます。

バージョン履歴

R2017a で導入