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 쌍 인수로 지정된 추가 옵션을 사용하여 모의 객체를 만듭니다. 이 구문은 위에 열거된 구문에서 사용된 모든 인수와 함께 사용할 수 있습니다.
입력 인수
테스트 케이스의 인스턴스로, matlab.mock.TestCase 객체로 지정됩니다.
모의 객체에 대한 슈퍼클래스로, 스칼라 matlab.metadata.Class 객체로 지정됩니다. 이 모의 객체는 이 클래스의 모든 추상 속성과 추상 메서드를 구현합니다.
예: ?MyIterfaceClass
예: ?MException
이름-값 인수
선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN으로 지정합니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.
R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name을 따옴표로 묶으십시오.
예를 들어, [mock,behavior] = testCase.createMock('AddedProperties',{'Prop1','Prop2'})는 모의 객체를 만들고, Prop1 속성과 Prop2 속성을 추가합니다.
모의 객체에 추가할 메서드의 이름으로, string형 배열이나 문자형 벡터로 구성된 셀형 배열 중 하나로 지정됩니다. 엄밀한 모의 객체이거나 모의 동작이 정의된 경우를 제외하고 모의 객체에 대해 이러한 메서드를 호출하면 빈 배열이 반환됩니다.
예: ["methodA","methodB","methodC"]
예: {'method1','method2'}
모의 객체에 추가할 속성의 이름으로, string형 배열이나 문자형 벡터로 구성된 셀형 배열 중 하나로 지정됩니다. 엄밀한 모의 객체가 아닌 경우 이 객체의 값을 설정하여 가져올 수 있습니다. 그러나 엄밀한 모의 객체의 경우 속성값을 설정하거나 가져오면 기본적으로 MATLAB®은 어설션 실패를 생성합니다.
예: "MyProperty"
예: {'Prop1','Prop2'}
모의 객체에 추가할 이벤트의 이름으로, string형 배열이나 문자형 벡터로 구성된 셀형 배열 중 하나로 지정됩니다. 모의 객체에 이벤트를 추가하려면 핸들 클래스에서 모의 객체를 파생해야 합니다.
예: "MyEvent"
예: {'Event1','Event2'}
디폴트 속성값으로, 스칼라 구조체로 지정됩니다. 이 이름-값 쌍 인수를 사용하여 모의 객체 클래스로 구현된 속성에 대한 디폴트 값을 지정합니다. 이러한 속성에는 Abstract 슈퍼클래스 속성과 'AddedProperties' 이름-값 쌍 인수를 사용하여 추가된 속성이 포함됩니다. 각 필드는 모의 클래스에서 구현된 속성의 이름을 참조하며, 대응하는 값은 이 속성에 대한 디폴트 값을 나타냅니다.
예: struct('PropA',123,'PropB',true)
모의 실행할 메서드로, string형 배열 또는 문자형 벡터로 구성된 셀형 배열의 메서드 이름을 사용하여 지정됩니다. 모의 실행할 메서드가 없는 것으로 지정하려면 string.empty로 지정된 빈 값 또는 {}을 사용하십시오. 기본적으로, 모든 메서드가 모의 실행됩니다.
MockedMethods는 추가된 메서드, 추상 슈퍼클래스 메서드 및 재정의 가능한 구체 슈퍼클래스 메서드(Sealed 특성 값이 false)의 어떤 서브셋도 포함할 수 있습니다. 일반적으로, 스텁 처리(stub)하거나 감시(spy)하려는 메서드만 포함합니다.
MockedMethods를 지정하면 테스트가 테스트 케이스에 중요한 메서드만 모의 실행할 수 있습니다. 모의 실행되는 메서드를 제한하면 슈퍼클래스가 많은 수의 메서드를 정의하는 경우에 테스트 성능을 개선할 수 있습니다.
예: ["foo" "bar"]
데이터형: char | string | cell
모의 객체가 엄밀한지 여부의 표시자로, false 또는 true로 지정됩니다. 기본적으로, 동작이 정의되지 않은 경우 모의 메서드는 빈 배열을 반환합니다. Strict를 true로 설정하는 경우 이 프레임워크는 다음에 대한 정의되지 않은 동작에 대해 어설션 실패를 생성합니다.
지정된 인터페이스의 모든
abstract메서드와 속성.AddedMethods인수로 모의 객체에 추가된 메서드.AddedProperties인수로 모의 객체에 추가된 속성.
데이터형: logical
superclass 생성자에 전달할 입력값으로, 값으로 구성된 셀형 배열로 지정됩니다.
예: superclass를 ?MException으로 정의할 모의 객체를 생성하는 경우 'ConstructorInputs'는 {'My:ID','My message'}일 수 있습니다.
출력 인수
superclass 입력값으로 지정된 인터페이스의 추상 메서드와 추상 속성의 구현으로, 모의 객체로 반환됩니다. 슈퍼클래스 정의 없이 모의 객체가 생성된 경우 명시적 인터페이스가 없습니다.
참고: 모의 객체는 저장하거나 불러올 수 없습니다.
모의 동작 정의로, 동작 객체로 반환됩니다. 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: 0double 클래스의 isnan 메서드와 isinf 메서드를 재정의하는 모의 객체를 생성합니다.
[mock,behavior] = testCase.createMock(?double,"MockedMethods",["isnan","isinf"],... "ConstructorInputs",{123});
버전 내역
R2017a에 개발됨핸들 클래스에서 파생된 모의 객체를 만들 때 객체에 속성 및 메서드 외에 이벤트를 추가할 수 있습니다. 모의 실행할 이벤트를 지정하려면 AddedEvents 이름-값 인수를 사용하십시오.
모의 실행할 메서드를 지정하려면 MockedMethods 이름-값 인수를 사용하십시오.
사용자 지정 메타클래스를 사용하는 클래스에 대한 모의 객체를 만들어 사용자 지정 클래스, 속성, 메서드, 이벤트 특성을 정의할 수 있습니다.
속성 유효성 검사를 사용하는 클래스에 대한 모의 객체를 만들 수 있습니다. 속성 유효성 검사에 대한 내용은 속성값 유효성 검사 항목을 참조하십시오.
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
웹사이트 선택
번역된 콘텐츠를 보고 지역별 이벤트와 혜택을 살펴보려면 웹사이트를 선택하십시오. 현재 계신 지역에 따라 다음 웹사이트를 권장합니다:
또한 다음 목록에서 웹사이트를 선택하실 수도 있습니다.
사이트 성능 최적화 방법
최고의 사이트 성능을 위해 중국 사이트(중국어 또는 영어)를 선택하십시오. 현재 계신 지역에서는 다른 국가의 MathWorks 사이트 방문이 최적화되지 않았습니다.
미주
- América Latina (Español)
- Canada (English)
- United States (English)
유럽
- 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)