Main Content

storeValueWhen

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

속성이 설정되면 값 저장

구문

storeValueWhen(testcase,behavior)

설명

storeValueWhen(testcase,behavior)는 속성이 설정되면 모의 객체가 속성값을 저장하도록 지정합니다. 엄밀한 모의 객체이고 속성이 모의 인터페이스의 추상 속성인 경우 이 프레임워크는 속성 set 액세스 시 어설션 실패를 생성합니다. 엄밀한 모의 객체에서 속성이 설정되도록 하려면 storeValueWhen 메서드를 사용하십시오.

입력 인수

모두 확장

테스트 케이스의 인스턴스로, matlab.mock.TestCase 객체로 지정됩니다.

모의 객체의 동작으로, matlab.mock.PropertySetBehavior 인스턴스로 지정됩니다. matlab.mock.PropertySetBehavior의 인스턴스를 만들려면 동작 객체의 속성에 대해 set 메서드를 호출하십시오.

예: set(behavior.MyMockedProperty)

예제

모두 확장

엄밀한 모의 객체를 만듭니다. 기본적으로 모든 속성 상호 작용에서 예외가 발생합니다.

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

예외를 발생시키는 대신에 PropertyFoo가 설정되도록 합니다.

testCase.storeValueWhen(set(behavior.PropertyFoo));

대안

storeValueWhen 메서드를 사용하는 것은 PropertySetBehavior 클래스의 when 메서드와 함께 matlab.mock.actions.StoreValue 동작을 사용하는 것과 기능적으로 동일합니다. 예를 들어, 다음 코드 블록들은 기능적으로 동일합니다.

% Using the storeValueWhen method
testCase.storeValueWhen(set(behavior.PropertyFoo));

% Using the StoreValue action with the when function
import matlab.mock.actions.StoreValue;
when(set(behavior.PropertyFoo),StoreValue);
그러나 StoreValue 동작을 사용하면 추가적인 기능을 사용할 수 있습니다. 예를 들어, 동일한 모의 객체 상호 작용에 대해 다른 후속 동작을 지정할 수 있습니다.

버전 내역

R2017a에 개발됨