Main Content

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/createMockObject/mockMethodCallback (line 382)
Deposit amount must be positive.

대안

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

버전 내역

R2017a에 개발됨