createMock

Класс: matlab.mock. TestCase
Пакет: matlab.mock

Создание фиктивного объекта

Синтаксис

[макет, поведение] = createMock (testcase)
[макет, поведение] = createMock (testcase, суперкласс)
[макет, поведение] = createMock (___, Имя, Значение)

Описание

[mock,behavior] = createMock(testcase) создает фиктивный объект и связанный объект поведения.

[mock,behavior] = createMock(testcase,superclass) создает макет, который выводит от класса superclass.

[mock,behavior] = createMock(___,Name,Value) создает макет с дополнительными опциями, заданными одним или несколькими аргументами пары Name,Value. Можно использовать этот синтаксис с любым из аргументов от предыдущих синтаксисов.

Входные параметры

развернуть все

Образец тестового примера, заданный как объект matlab.mock.TestCase.

Суперкласс для макета, заданного как скалярный объект meta.class. Фиктивный объект реализует все абстрактные свойства и методы этого класса.

Пример:? MyIterfaceClass

Пример:? MException

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Имя должно появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Например, [mock,behavior] = testCase.createMock('AddedProperties',{'Prop1','Prop2'}) создает макет и добавляет свойства Prop1 и Prop2 к нему.

Имена методов, чтобы добавить к макету, заданному как массив строк или массив ячеек из символьных векторов. Если макет не строг, или ложное поведение было задано, вызов этих методов на макете возвращает пустой массив.

Пример: ["methodA", "methodB", "methodC"]

Пример: {'method1', 'method2'}

Имена свойств добавить к макету, заданному как массив строк или массив ячеек из символьных векторов. Если макет не строг, можно установить и получить их значения. Однако, если макет строг, MATLAB® по умолчанию производит отказ утверждения, если вы устанавливаете или получаете значение свойства.

Пример: "MyProperty"

Пример: {'Prop1', 'Prop2'}

Значения свойств по умолчанию, заданные как скалярный struct. Используйте этот аргумент в виде пар "имя-значение", чтобы задать значения по умолчанию для свойств, реализованных классом фиктивного объекта. Эти свойства включают свойства суперкласса Abstract и свойства, добавленные с аргументом в виде пар "имя-значение" 'AddedProperties'. Каждое поле относится к имени свойства, реализованного на ложном классе, и соответствующее значение представляет значение по умолчанию для того свойства.

Пример: struct ('PropA', 123, 'PropB', верный)

Индикатор, если макет строг, задан как false или true. По умолчанию ложный метод возвращает пустой массив, если поведение не определено. Если вы устанавливаете Strict на true, среда производит отказ утверждения для неопределенного поведения для

  • Все методы abstract и свойства заданного интерфейса.

  • Методы, добавленные к макету с аргументом AddedMethods.

  • Свойства, добавленные к макету с аргументом AddedProperties.

Типы данных: логический

Вводы, чтобы передать конструктору superclass, заданному как массив ячеек значений.

Пример: Если вы создаете макет, где вы задаете суперкласс, чтобы быть? MException, 'ConstructorInputs' мог быть {'My:ID', 'Мое сообщение'}.

Выходные аргументы

развернуть все

Реализация абстрактных методов и свойства интерфейса, заданного входным параметром 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(?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

Введенный в R2017a

Была ли эта тема полезной?