Класс: 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
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
Например, [mock,behavior] = testCase.createMock('AddedProperties',{'Prop1','Prop2'})
создает макет и добавляет Prop1
и Prop2
свойства к нему.
'AddedMethods'
— Имена методов, чтобы добавить к макетуИмена методов, чтобы добавить к макету в виде массива строк или массива ячеек из символьных векторов. Если макет не строг, или ложное поведение было задано, вызов этих методов на макете возвращает пустой массив.
Пример: ["methodA","methodB","methodC"]
Пример: {'method1','method2'}
'AddedProperties'
— Свойства добавить к макетуИмена свойств добавить к макету в виде массива строк или массива ячеек из символьных векторов. Если макет не строг, можно установить и получить их значения. Однако, если макет строг, MATLAB® по умолчанию производит отказ утверждения, если вы устанавливаете или получаете значение свойства.
Пример: "MyProperty"
Пример: {'Prop1','Prop2'}
'AddedEvents'
— События, чтобы добавить к макетуИмена событий, чтобы добавить к макету в виде массива строк или массива ячеек из символьных векторов. Чтобы добавить события в макет, фиктивный объект должен вывести из класса Handle.
Пример: "MyEvent"
Пример: {'Event1','Event2'}
'DefaultPropertyValues'
Значения свойств по умолчаниюЗначения свойств по умолчанию в виде скалярного struct. Используйте этот аргумент пары "имя-значение", чтобы задать значения по умолчанию для свойств, реализованных классом фиктивного объекта. Эти свойства включают Abstract
свойства суперкласса и свойства добавляются с 'AddedProperties'
аргумент пары "имя-значение". Каждое поле относится к имени свойства, реализованного на ложном классе, и соответствующее значение представляет значение по умолчанию для того свойства.
Пример: struct('PropA',123,'PropB',true)
'MockedMethods'
— Методы, чтобы дразнитьstring.empty
| {}
| массив строк | cellstr
Методы, чтобы дразнить, заданное использование имен методов в массиве строк или массиве ячеек из символьных векторов. Чтобы указать, что никакие методы не дразнят, используйте пустое значение, заданное в качестве string.empty
, или {}
. По умолчанию все методы дразнят.
MockedMethods
может включать любое подмножество добавленных методов, абстрактных методов суперкласса и конкретных методов суперкласса, которые могут быть заменены (Sealed
значение атрибута false
). В общем случае вы включаете только те методы, которые вы хотите заблокировать или шпионить за.
Определение MockedMethods
позволяет тестам дразнить только те методы, которые важны для теста. Ограничение методов, которые дразнят, может улучшить проведение испытаний, когда суперклассы задают много методов.
Пример: ["нечто", "панель"]
Типы данных: char |
string
| cell
'Strict'
— Индикатор, если макет строгfalse
(значение по умолчанию) | true
Индикатор, если макет строг в виде false
или true
. По умолчанию ложный метод возвращает пустой массив, если поведение не определено. Если вы устанавливаете Strict
к true
, среда производит отказ утверждения для неопределенного поведения для
Весь abstract
методы и свойства заданного интерфейса.
Методы, добавленные к макету с AddedMethods
аргумент.
Свойства, добавленные к макету с AddedProperties
аргумент.
Типы данных: логический
'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
Создайте макет, который заменяет isnan
и isinf
методы класса double
.
[mock,behavior] = testCase.createMock(?double,"MockedMethods",["isnan","isinf"],... "ConstructorInputs",{123});
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.