주요 콘텐츠

withNargout

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

정의된 개수의 출력 인수를 사용하는 모의 객체 메서드 호출 지정

구문

callBehavior = withNargout(n,behavior)

설명

callBehavior = withNargout(n,behavior)는 정의된 개수의 출력 인수와 함께 모의 객체 메서드가 호출된 경우의 동작을 정의하는 MethodCallBehavior 객체를 반환합니다.

입력 인수

모두 확장

모의 객체 메서드의 출력값 개수로, 정수로 지정됩니다.

예: 3

모의 객체의 동작으로, matlab.mock.MethodCallBehavior 인스턴스로 지정됩니다. matlab.mock.MethodCallBehavior의 인스턴스를 만들려면 해당 동작 객체의 메서드를 호출합니다.

예: myMockBehavior.myMockedMethod

예제

모두 확장

삼각형 클래스에 대한 모의 객체를 만듭니다.

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

동작을 설정합니다. sideLengths 메서드가 객체만 입력값으로 받고 출력값을 한 개로 취해 호출되는 경우 세 개의 값으로 구성된 배열을 반환합니다. 객체만 입력값으로 받고 출력값을 세 개로 취해 호출되는 경우 세 개의 값을 반환합니다. 그렇지 않으면 디폴트 값인 빈 배열을 반환합니다.

import matlab.mock.actions.AssignOutputs
when(withNargout(1,withExactInputs(behavior.sideLengths)), ...
    AssignOutputs([1 2 3]))
when(withNargout(3,withExactInputs(behavior.sideLengths)), ...
    AssignOutputs(1,2,3))

객체만 입력값으로 받고 출력값을 하나로 취해 sideLengths 메서드를 호출합니다.

len = mockQuad.sideLengths
len = 1×3

     1     2     3

sideLengths 메서드가 한 개의 출력 인수로 한 번 이상 호출되었는지 확인합니다.

import matlab.mock.constraints.WasCalled
testCase.verifyThat(withNargout(1, ...
    withExactInputs(behavior.sideLengths)),WasCalled)
Verification passed.

sideLengths 메서드가 세 개의 출력 인수로 호출되지 않았음을 확인합니다.

testCase.verifyThat(withNargout(3, ...
    withExactInputs(behavior.sideLengths)),~WasCalled)
Verification passed.

버전 내역

R2017a에 개발됨