Main Content

then

클래스: matlab.mock.actions.ThrowException
네임스페이스: matlab.mock.actions

모의 객체 상호 작용에 대한 동작 또는 예외 발생시키기의 후속 동작

구문

then(action1)
then(action1,action2)

설명

then(action1)은 모의 객체 상호 작용에 대한 동작을 지정합니다.

then(action1,action2)는 모의 객체 상호 작용에 대한 동작과 후속 동작을 지정합니다.

입력 인수

모두 확장

정의된 동작으로, matlab.mock.actions.ThrowException의 인스턴스로 지정됩니다.

예: action1 = ThrowException

예: action1 = ThrowException(MException('Account:deposit:Negative','Deposit amount must be positive.'))

두 번째 정의된 동작으로, matlab.mock.actions.ThrowException, matlab.mock.actions.AssignOutputs, matlab.mock.actions.DoNothing, matlab.mock.actions.Invoke, matlab.mock.actions.ReturnStoredValue 또는 matlab.mock.actions.StoreValue의 인스턴스로 지정됩니다.

예: action2 = ThrowException

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

예제

모두 확장

은행 계좌 클래스에 대한 모의 객체를 만듭니다.

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

동작을 지정합니다.

import matlab.mock.actions.ThrowException
import matlab.mock.actions.AssignOutputs
when(withExactInputs(behavior.isOpen), ...
    ThrowException().then(AssignOutputs(false)))

모의 객체를 사용합니다.

isAccountOpen = mock.isOpen

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

모의 객체를 사용합니다.

isAccountOpen = mock.isOpen
isAccountOpen =

  logical

   0

  • then 호출은 최대 2개의 동작을 허용합니다. 더 많은 후속 동작을 지정하려면 then을 여러 번 호출하십시오. 예를 들어, 3개 동작을 지정하려면 action1.then(action2).then(action3)을 사용하십시오.

버전 내역

R2017a에 개발됨