メインコンテンツ

then

クラス: matlab.mock.actions.DoNothing
名前空間: matlab.mock.actions

モック オブジェクトの相互作用のアクション、またはアクションなしの後のアクション

説明

then(action1) は、モック オブジェクトの相互作用のアクションを指定します。

then(action1,action2) は、モック オブジェクトの相互作用のアクションとその次のアクションを指定します。

入力引数

すべて展開する

定義されたアクション。matlab.mock.actions.DoNothing オブジェクトとして指定します。

例: action1 = DoNothing

2 番目の定義済みのアクション。matlab.mock.actions.AssignOutputsmatlab.mock.actions.Invokematlab.mock.actions.StoreValue、または matlab.mock.actions.ThrowException オブジェクトとして指定します。

例: action2 = AssignOutputs(7,13,42)

例: action2 = ThrowException

すべて展開する

銀行口座クラスのモックを作成します。

testCase = matlab.mock.TestCase.forInteractiveUse;
[mock,behavior] = testCase.createMock('AddedMethods',"deposit");

初回の deposit の呼び出しでは何もしません。2 回目にメソッドが呼び出されたときは例外をスローします。

import matlab.mock.actions.DoNothing
import matlab.mock.actions.ThrowException
when(withAnyInputs(behavior.deposit),DoNothing().then(ThrowException))

モックを使用します。メソッドの呼び出しはアクションなしの結果となります。

mock.deposit(100)

2 回目のモックのメソッド呼び出しを行います。MATLAB® はエラーをスローします。

mock.deposit(100)
Error using matlab.mock.internal.MockContext/createMockObject/mockMethodCallback (line 382)
The following method call was specified to throw an exception:
	deposit([1×1 matlab.mock.classes.Mock], 100)

ヒント

  • then の呼び出しはそれぞれ最大 2 つのアクションを受け入れます。後続のアクションをさらに多く指定するには、then を複数回呼び出します。たとえば、3 つのアクションを指定するには action1.then(action2).then(action3) を使用します。

バージョン履歴

R2020a で導入