이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

matlab.mock.actions.ThrowException 클래스

패키지: matlab.mock.actions

메서드가 호출되거나, 속성이 설정되거나 액세스되면 예외를 발생시킵니다.

설명

모의 객체 메서드가 호출되거나 모의 객체 속성이 설정되거나 액세스될 때 프레임워크가 예외를 발생시키도록 지정하려면 ThrowException 클래스를 사용하십시오. 이 동작을 사용하여 테스트 중인 시스템에 오류 조건을 삽입할 수 있습니다.

생성

action = ThrowException은 메서드가 호출되거나 속성이 설정되거나 액세스되면 예외를 발생시킵니다.

action = ThrowException(exception)은 모의 객체가 발생시키는 예외를 지정합니다.

입력 인수

모두 확장

메서드 호출 또는 속성 상호 작용 시 프레임워크가 발생시킬 예외로, 스칼라 MException 객체로 지정됩니다.

예: MException('MyProduct:myID','My exception message.')

메서드

repeat동일한 동작을 여러 번 반복
then동작 지정

복사 의미 체계

값입니다. 값 클래스가 복사 작업에 미치는 영향에 대한 내용은 객체 복사 항목을 참조하십시오.

예제

모두 축소

은행 계좌 클래스에 대한 모의 객체를 만듭니다.

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

동작을 설정합니다.

import matlab.mock.actions.ThrowException;
import matlab.unittest.constraints.IsLessThan;
when(behavior.deposit(IsLessThan(0)), ...
    ThrowException(MException('Account:deposit:Negative', ...
    'Deposit amount must be positive.')));

모의 객체를 사용합니다.

mock.deposit(10)
mock.deposit(-10)
Error using matlab.mock.internal.MockContext>mockMethodCallback (line 663)
Deposit amount must be positive.

Error in matlab.mock.internal.MockContext>@(data)mockMethodCallback(data,catalog) (line 282)
            methodCallback = @(data)mockMethodCallback(data, catalog);

대안

간단한 출력값 정의를 위해 matlab.mock.TestCase 클래스의 throwExceptionWhen 메서드를 사용할 수 있습니다. 그러나 ThrowException 동작을 사용하면 추가적인 기능을 사용할 수 있습니다.

R2017a에 개발됨