Main Content

storeValueWhen

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

プロパティが設定されたときに値を格納する

構文

storeValueWhen(testcase,behavior)

説明

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

入力引数

すべて展開する

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

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

例: set(behavior.MyMockedProperty)

すべて展開する

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

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

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

testCase.storeValueWhen(set(behavior.PropertyFoo));

代替方法

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

% Using the storeValueWhen method
testCase.storeValueWhen(set(behavior.PropertyFoo));

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

バージョン履歴

R2017a で導入