Main Content

matlab.mock.constraints.WasAccessed クラス

パッケージ: matlab.mock.constraints

プロパティの get アクセスを決定する制約

説明

実際の値が PropertyBehavior インスタンスでない場合、または PropertyBehavior に対応するプロパティが指定した回数だけアクセスされていない場合、WasAccessed 制約は検定エラーを生成します。

プロパティへのアクセス回数には、MATLAB® が暗黙的にプロパティにアクセスした回数も含まれます。たとえば、モック オブジェクトを表示すると、MATLAB はオブジェクト プロパティにアクセスしてその値を表示します。

構築

constraint = WasAccessed はプロパティの get アクセスを判別する制約を提供します。プロパティへのアクセスが 1 回以上あれば、この制約は満たされます。プロパティへのアクセスがないことを検定するには、チルダ (~) 演算子を使用して WasAccessed 制約を否定します。

constraint = WasAccessed('WithCount',n) は、プロパティへのアクセス回数が厳密に n 回であった場合に満たされる制約を提供します。

この構文で WasAccessed を否定すると、プロパティへのアクセス回数が厳密に n 回でなかった場合にこの制約が満たされます。たとえば、プロパティへのアクセス回数が 4 回であった場合、~WasAccessed('WithCount',3) はパスし、~WasAccessed('WithCount',4) は失敗します。

入力引数

すべて展開する

プロパティの get アクセスの回数。整数として指定します。

プロパティ

すべて展開する

プロパティのアクセス数。整数として返されます。このプロパティは、制約が作成されると読み取り専用になります。これは制約の作成時に指定できます。

コピーのセマンティクス

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

すべて折りたたむ

個人クラスのモックを作成します。

testCase = matlab.mock.TestCase.forInteractiveUse;
[fakePerson,behavior] = testCase.createMock('AddedProperties',["Name" "Age"]);
fakePerson.Name = 'David';
fprintf(1,'The person''s name is %s.\n',fakePerson.Name);
The person's name is David.

パスのケースを作成します。

import matlab.mock.constraints.WasAccessed
testCase.verifyThat(behavior.Name,WasAccessed)
Interactive verification passed.
testCase.verifyThat(behavior.Age,~WasAccessed)
Interactive verification passed.
testCase.verifyThat(behavior.Name,WasAccessed('WithCount',1))
Interactive verification passed.

失敗のケースを作成します。

testCase.verifyThat(behavior.Name,~WasAccessed)
Interactive verification failed.

---------------------
Framework Diagnostic:
---------------------
Negated WasAccessed failed.
--> Property 'Name' was unexpectedly accessed 1 time(s).

Specified property access:
    PropertyGetBehavior
        <Mock>.Name
testCase.verifyThat(behavior.Age,WasAccessed)
Interactive verification failed.

---------------------
Framework Diagnostic:
---------------------
WasAccessed failed.
--> Property 'Age' was never accessed.

Specified property access:
    PropertyGetBehavior
        <Mock>.Age
testCase.verifyThat(behavior.Name,WasAccessed('WithCount',5))
Interactive verification failed.

---------------------
Framework Diagnostic:
---------------------
WasAccessed failed.
--> Property 'Name' was not accessed the expected number of times.
    
    Actual property access count:
             1
    Expected property access count:
             5

Specified property access:
    PropertyGetBehavior
        <Mock>.Name

バージョン履歴

R2017a で導入