Main Content

then

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

모의 객체 상호 작용에 대한 동작 또는 속성값 저장의 후속 동작

구문

then(action1)
then(action1,action2)

설명

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

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

입력 인수

모두 확장

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

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

예: action2 = DoNothing

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

예제

모두 확장

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

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

동작을 지정합니다. IsOpen 속성이 한 번 설정되도록 한 후 예외를 발생시킵니다.

import matlab.mock.actions.StoreValue
import matlab.mock.actions.ThrowException
when(set(behavior.IsOpen),StoreValue().then(ThrowException( ...
    MException('Account:setValue:tooMany','Value set too many times.'))))

모의 객체를 사용합니다.

mock.IsOpen = false
mock = 

  Mock with properties:

    IsOpen: 0
mock.IsOpen = true
Error using matlab.mock.internal.MockContext/createMockObject/mockPropertySetCallback (line 429)
Value set too many times.

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

버전 내역

R2017a에 개발됨