Main Content

when

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

모의 객체 메서드 동작 지정

구문

when(behavior,action)

설명

when(behavior,action)은 모의 객체 메서드가 behavior로 정의된 입력값을 받아 호출된 경우 취하는 동작을 지정합니다.

입력 인수

모두 확장

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

예: withExactInputs(myMockBehavior.myMockedMethod)

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

예: AssignOutputs(7,13,42)

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

예제

모두 확장

삼각형 클래스에 대한 모의 객체를 만듭니다. 이 모의 객체에는 한 개의 메서드(sideLengths)가 있습니다.

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

동작을 설정합니다. sideLengths 메서드에 대한 입력값과 관계없이, 이 모의 객체는 값 2, 3, 4를 반환합니다.

when(withAnyInputs(behavior.sideLengths),AssignOutputs(2,3,4))

모의 객체의 sideLengths 메서드를 호출합니다.

[a,b,c] = mock.sideLengths
a = 
2
b = 
3
c = 
4

다른 입력값과 두 개의 출력값을 사용하여 sideLengths 메서드를 다시 호출합니다.

[a,b] = mock.sideLengths(13,"inputText")
a = 
2
b = 
3

버전 내역

R2017a에 개발됨