Main Content

returnStoredValueWhen

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

プロパティがアクセスされたときに格納された値を返す

構文

returnStoredValueWhen(testcase,behavior)

説明

returnStoredValueWhen(testcase,behavior) は、プロパティがアクセスされた場合に、格納されたプロパティ値をモックが返すよう指定します。モックが厳密で、プロパティがモック インターフェイスの抽象プロパティである場合、プロパティがアクセスされるとフレームワークはアサーション エラーを生成します。厳密なモックでプロパティにアクセスできるようにするには、returnStoredValueWhen メソッドを使用します。

入力引数

すべて展開する

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

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

例: get(behavior.MyMockedProperty)

すべて展開する

厳密なモックを作成します。既定では、すべてのプロパティの相互作用が例外をスローします。

testCase = matlab.mock.TestCase.forInteractiveUse;
[mock,behavior] = testCase.createMock('AddedProperties',"PropertyFoo",...
    'Strict',true);

例外をスローする代わりに、PropertyFoo にアクセスできるようにします。

testCase.returnStoredValueWhen(get(behavior.PropertyFoo));

代替方法

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

% Using the returnStoredValueWhen method
testCase.returnStoredValueWhen(get(behavior.PropertyFoo));

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

バージョン履歴

R2017a で導入