Main Content

assignOutputsWhen

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

메서드 호출 또는 속성 액세스에 대한 반환 값 정의

구문

assignOutputsWhen(testcase,behavior,A1,...,An)

설명

assignOutputsWhen(testcase,behavior,A1,...,An)은 호출된 메서드 또는 액세스된 속성에 대해 반환할 값을 정의합니다.

입력 인수

모두 확장

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

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

예: get(behavior.MyMockedProperty)

예: withExactInputs(behavior.myMockedMethod)

정의된 반환 값으로, 스칼라, 벡터, 행렬 또는 다차원 배열로 지정됩니다. 반환 값은 임의의 데이터형일 수 있으며, behavior로 지정된 메서드 또는 속성과 관련됩니다.

예: "mySpecifiedValue"

예: 7,13,42

예: [1 2 3;4 5 6]

예제

모두 확장

출력값을 할당합니다.

testCase = matlab.mock.TestCase.forInteractiveUse;
[mock, behavior] = testCase.createMock('AddedProperties',"PropertyFoo", ...
    'AddedMethods',"methodBar");
testCase.assignOutputsWhen(get(behavior.PropertyFoo), 'abc');
testCase.assignOutputsWhen(withExactInputs(behavior.methodBar), 1, 2, 3);

% Carry out actions
mock.PropertyFoo
[out1,out2,out3] = mock.methodBar

대안

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

% Using the assignOutputsWhen method
testCase.assignOutputsWhen(get(behavior.PropertyFoo),'abc');
testCase.assignOutputsWhen(withExactInputs(behavior.methodBar),1,2,3);

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

버전 내역

R2017a에 개발됨