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 объект.

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

Пример: ?MyIterfaceClass

Пример: ?MException

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

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: 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',true)

Методы, чтобы дразнить, заданное использование имен методов в массиве строк или массиве ячеек из символьных векторов. Чтобы указать, что никакие методы не дразнят, используйте пустое значение, заданное в качестве string.empty, или {}. По умолчанию все методы дразнят.

MockedMethods может включать любое подмножество добавленных методов, абстрактных методов суперкласса и конкретных методов суперкласса, которые могут быть заменены (Sealed значение атрибута false). В общем случае вы включаете только те методы, которые вы хотите заблокировать или шпионить за.

Определение MockedMethods позволяет тестам дразнить только те методы, которые важны для теста. Ограничение методов, которые дразнят, может улучшить проведение испытаний, когда суперклассы задают много методов.

Пример: ["нечто", "панель"]

Типы данных: char | string | cell

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

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

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

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

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

Входные параметры, чтобы передать 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(?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

Создайте макет, который заменяет isnan и isinf методы класса double.

[mock,behavior] = testCase.createMock(?double,"MockedMethods",["isnan","isinf"],...
    "ConstructorInputs",{123});

Введенный в R2017a

Для просмотра документации необходимо авторизоваться на сайте