createMock
클래스: matlab.mock.TestCase
패키지: matlab.mock
모의 객체 생성
구문
[mock,behavior] = createMock(testcase)
[mock,behavior] = createMock(testcase,superclass)
[mock,behavior] = createMock(___,Name,Value)
설명
[
는 모의 객체와 관련 동작 객체를 만듭니다.mock
,behavior
] = createMock(testcase
)
[
는 mock
,behavior
] = createMock(testcase
,superclass
)superclass
클래스에서 파생된 모의 객체를 만듭니다.
[
는 하나 이상의 mock
,behavior
] = createMock(___,Name,Value
)Name,Value
쌍 인수로 지정된 추가 옵션을 사용하여 모의 객체를 만듭니다. 이 구문은 위에 열거된 구문에서 사용된 모든 인수와 함께 사용할 수 있습니다.
입력 인수
testcase
— 테스트 케이스의 인스턴스
matlab.mock.TestCase
객체
테스트 케이스의 인스턴스로, matlab.mock.TestCase
객체로 지정됩니다.
superclass
— 모의 객체에 대한 슈퍼클래스
스칼라 meta.class
객체
모의 객체에 대한 슈퍼클래스로, 스칼라 meta.class
객체로 지정됩니다. 이 모의 객체는 이 클래스의 모든 추상 속성과 추상 메서드를 구현합니다.
예: ?MyIterfaceClass
예: ?MException
이름-값 인수
선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN
으로 지정합니다. 여기서 Name
은 인수 이름이고 Value
는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.
R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name
을 따옴표로 묶으십시오.
예를 들어, [mock,behavior] = testCase.createMock('AddedProperties',{'Prop1','Prop2'})
는 모의 객체를 만들고, Prop1
속성과 Prop2
속성을 추가합니다.
AddedMethods
— 모의 객체에 추가할 메서드의 이름
string형 배열 | 문자형 벡터로 구성된 셀형 배열
모의 객체에 추가할 메서드의 이름으로, string형 배열이나 문자형 벡터로 구성된 셀형 배열 중 하나로 지정됩니다. 엄밀한 모의 객체이거나 모의 동작이 정의된 경우를 제외하고 모의 객체에 대해 이러한 메서드를 호출하면 빈 배열이 반환됩니다.
예: ["methodA","methodB","methodC"]
예: {'method1','method2'}
AddedProperties
— 모의 객체에 추가할 속성
string형 배열 | 문자형 벡터로 구성된 셀형 배열
모의 객체에 추가할 속성의 이름으로, string형 배열이나 문자형 벡터로 구성된 셀형 배열 중 하나로 지정됩니다. 엄밀한 모의 객체가 아닌 경우 이 객체의 값을 설정하여 가져올 수 있습니다. 그러나 엄밀한 모의 객체의 경우 속성값을 설정하거나 가져오면 기본적으로 MATLAB®은 어설션 실패를 생성합니다.
예: "MyProperty"
예: {'Prop1','Prop2'}
AddedEvents
— 모의 객체에 추가할 이벤트
string형 배열 | 문자형 벡터로 구성된 셀형 배열
모의 객체에 추가할 이벤트의 이름으로, string형 배열이나 문자형 벡터로 구성된 셀형 배열 중 하나로 지정됩니다. 모의 객체에 이벤트를 추가하려면 핸들 클래스에서 모의 객체를 파생해야 합니다.
예: "MyEvent"
예: {'Event1','Event2'}
DefaultPropertyValues
— 디폴트 속성값
스칼라 구조체
디폴트 속성값으로, 스칼라 구조체로 지정됩니다. 이 이름-값 쌍 인수를 사용하여 모의 객체 클래스로 구현된 속성에 대한 디폴트 값을 지정합니다. 이러한 속성에는 Abstract
슈퍼클래스 속성과 'AddedProperties'
이름-값 쌍 인수를 사용하여 추가된 속성이 포함됩니다. 각 필드는 모의 클래스에서 구현된 속성의 이름을 참조하며, 대응하는 값은 이 속성에 대한 디폴트 값을 나타냅니다.
예: struct('PropA',123,'PropB',true)
MockedMethods
— 모의 실행할 메서드
가능한 모든 메서드를 모의 실행 (디폴트 값) | string.empty
| {}
| string형 배열 | cellstr
모의 실행할 메서드로, string형 배열 또는 문자형 벡터로 구성된 셀형 배열의 메서드 이름을 사용하여 지정됩니다. 모의 실행할 메서드가 없는 것으로 지정하려면 string.empty
로 지정된 빈 값 또는 {}
을 사용하십시오. 기본적으로, 모든 메서드가 모의 실행됩니다.
MockedMethods
는 추가된 메서드, 추상 슈퍼클래스 메서드 및 재정의 가능한 구체 슈퍼클래스 메서드(Sealed
특성 값이 false
)의 어떤 서브셋도 포함할 수 있습니다. 일반적으로, 스텁 처리(stub)하거나 감시(spy)하려는 메서드만 포함합니다.
MockedMethods
를 지정하면 테스트가 테스트 케이스에 중요한 메서드만 모의 실행할 수 있습니다. 모의 실행되는 메서드를 제한하면 슈퍼클래스가 많은 수의 메서드를 정의하는 경우에 테스트 성능을 개선할 수 있습니다.
예: ["foo" "bar"]
데이터형: char
| string
| cell
Strict
— 모의 객체가 엄밀한지 여부의 표시자
false
(디폴트 값) | true
모의 객체가 엄밀한지 여부의 표시자로, false
또는 true
로 지정됩니다. 기본적으로, 동작이 정의되지 않은 경우 모의 메서드는 빈 배열을 반환합니다. Strict
를 true
로 설정하는 경우 이 프레임워크는 다음에 대한 정의되지 않은 동작에 대해 어설션 실패를 생성합니다.
지정된 인터페이스의 모든
abstract
메서드와 속성.AddedMethods
인수로 모의 객체에 추가된 메서드.AddedProperties
인수로 모의 객체에 추가된 속성.
데이터형: logical
ConstructorInputs
— superclass
생성자에 전달할 입력값
값으로 구성된 셀형 배열
superclass
생성자에 전달할 입력값으로, 값으로 구성된 셀형 배열로 지정됩니다.
예: superclass
를 ?MException
으로 정의할 모의 객체를 생성하는 경우 'ConstructorInputs'
는 {'My:ID','My message'}
일 수 있습니다.
출력 인수
mock
— 추상 메서드와 추상 속성의 구현
모의 객체
superclass
입력값으로 지정된 인터페이스의 추상 메서드와 추상 속성의 구현으로, 모의 객체로 반환됩니다. 슈퍼클래스 정의 없이 모의 객체가 생성된 경우 명시적 인터페이스가 없습니다.
참고: 모의 객체는 저장하거나 불러올 수 없습니다.
behavior
— 모의 동작 정의
동작 객체
모의 동작 정의로, 동작 객체로 반환됩니다. behavior
를 사용하여 모의 동작을 정의하고, 상호 작용을 확인합니다.
참고: 동작 객체는 저장하거나 불러올 수 없습니다.
예제
모의 객체 생성하기
대화형 방식 테스트를 위한 테스트 케이스를 생성합니다.
testCase = matlab.mock.TestCase.forInteractiveUse;
엄밀한 모의 객체를 생성합니다.
[mock,behavior] = testCase.createMock('AddedMethods',"foo",'Strict',true);
지정된 메서드로 모의 객체를 생성합니다.
[mock,behavior] = testCase.createMock('AddedMethods',... {'one','two','three'});
지정된 이벤트로 모의 객체를 생성합니다.
[mock,behavior] = testCase.createMock(?handle,'AddedEvents',... {'EventA','EventB'});
생성자 입력값을 사용하여 모의 객체를 생성합니다.
[mock,behavior] = testCase.createMock(?MException,'ConstructorInputs',... {'My:ID','My message'});
두 개의 속성을 가진 모의 객체를 생성합니다. Prop2
는 디폴트 값 false
를 가집니다.
mock = testCase.createMock('AddedProperties',{'Prop1','Prop2'},... 'DefaultPropertyValues',struct('Prop2',false))
mock = Mock with properties: Prop1: [] Prop2: 0
double
클래스의 isnan
메서드와 isinf
메서드를 재정의하는 모의 객체를 생성합니다.
[mock,behavior] = testCase.createMock(?double,"MockedMethods",["isnan","isinf"],... "ConstructorInputs",{123});
버전 내역
R2017a에 개발됨R2020a: 모의 객체에 이벤트 추가
핸들 클래스에서 파생된 모의 객체를 만들 때 객체에 속성 및 메서드 외에 이벤트를 추가할 수 있습니다. 모의 실행할 이벤트를 지정하려면 AddedEvents
이름-값 인수를 사용하십시오.
R2019a: 모의 실행할 메서드 지정
모의 실행할 메서드를 지정하려면 MockedMethods
이름-값 인수를 사용하십시오.
R2019a: 사용자 지정 메타클래스를 사용하는 클래스에 대한 모의 객체 만들기
사용자 지정 메타클래스를 사용하는 클래스에 대한 모의 객체를 만들어 사용자 지정 클래스, 속성, 메서드, 이벤트 특성을 정의할 수 있습니다.
R2019a: 속성 유효성 검사를 사용하는 클래스에 대한 모의 객체 만들기
속성 유효성 검사를 사용하는 클래스에 대한 모의 객체를 만들 수 있습니다. 속성 유효성 검사에 대한 내용은 속성값 유효성 검사 항목을 참조하십시오.
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)