Main Content

when

클래스: matlab.mock.PropertySetBehavior
네임스페이스: matlab.mock

모의 객체 속성 set 동작 지정

구문

when(behavior,action)

설명

when(behavior,action)은 모의 객체 속성이 설정되면 취하는 동작을 지정합니다.

입력 인수

모두 확장

모의 객체의 동작으로, matlab.mock.PropertySetBehavior 인스턴스로 지정됩니다. matlab.mock.PropertySetBehavior의 인스턴스를 만들려면 이 동작 객체로 matlab.mock.PropertyBehavior.set 또는 matlab.mock.PropertyBehavior.setToValue 메서드를 호출하십시오.

예: set(myMockBehavior.MyProperty)

예: setToValue(myMockBehavior.MyProperty,13)

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

예: StoreValue

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

예제

모두 확장

사람 클래스에 대한 엄밀한 모의 객체를 만듭니다. 이 모의 객체에는 한 개의 속성(Name)이 있습니다.

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

동작을 설정합니다. 이 속성이 설정되면 값을 저장하고, 이 속성이 액세스되면 값을 반환합니다. 이 동작을 정의하지 않으면, 이 속성을 설정하거나 이 속성에 액세스하면 엄밀한 모의 객체는 예외를 발생시킵니다.

import matlab.mock.actions.StoreValue
import matlab.mock.actions.ReturnStoredValue
when(set(behavior.Name),StoreValue)
when(get(behavior.Name),ReturnStoredValue)

속성을 설정합니다. 결과가 표시되므로 이 속성 액세스는 묵시적입니다.

mock.Name = "David"
mock = 
  Mock with properties:

    Name: "David"

버전 내역

R2017a에 개발됨