Класс: testCase
Пакет: matlab.mock
Создайте объект макет
[mock,behavior]
= createMock(testcase)
[mock,behavior]
= createMock(testcase,superclass)
[mock,behavior]
= createMock(___,Name,Value)
[
создает объект mock и связанный с ним объект поведения.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
объект. Объект mock реализует все абстрактные свойства и методы этого класса.
Пример: ?MyIterfaceClass
Пример: ?MException
Задайте необязательные разделенные разделенными запятой парами Name,Value
аргументы. Name
- имя аргумента и Value
- соответствующее значение. Name
должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN
.
Для примера, [mock,behavior] = testCase.createMock('AddedProperties',{'Prop1','Prop2'})
создает макет и добавляет Prop1
и Prop2
свойства к нему.
'AddedMethods'
- Имена методов, которые нужно добавить в макетИмена методов для добавления к макет, заданные как строковые массивы или массив ячеек из векторов символов. Если макет не является строгим или поведение mock не определено, вызов этих методов на макет возвращает пустой массив.
Пример: ["methodA","methodB","methodC"]
Пример: {'method1','method2'}
'AddedProperties'
- Свойства, которые нужно добавить в макетИмена свойств для добавления к макет, заданные как строковые массивы или массив ячеек из векторов символов. Если мок не строг, можно задать и получить их значения. Однако, если макет является строгим, по умолчанию MATLAB® приводит к отказу утверждения, если вы задаете или получаете значение свойства.
Пример: "MyProperty"
Пример: {'Prop1','Prop2'}
'AddedEvents'
- События, которые нужно добавить в макетИмена событий для добавления к макет, заданные как строковые массивы или массив ячеек из векторов символов. Чтобы добавить события к макет, объект mock должен быть выведен из класса handle.
Пример: "MyEvent"
Пример: {'Event1','Event2'}
'DefaultPropertyValues'
- Значения свойств по умолчаниюЗначения свойств по умолчанию, заданные как скалярный struct. Используйте этот аргумент пары "имя-значение", чтобы задать значения по умолчанию для свойств, реализованных классом объекта mock. Эти свойства включают Abstract
свойства и свойства суперкласса, добавленные в 'AddedProperties'
аргумент пары "имя-значение". Каждое поле ссылается на имя свойства, реализованного в классе mock, и соответствующее значение представляет значение по умолчанию для этого свойства.
Пример: struct('PropA',123,'PropB',true)
'MockedMethods'
- Методы для симуляцииstring.empty
| {}
| строковые массивы | cellstr
Методы для моделирования, заданные с помощью имен методов в строковых массивах или массиве ячеек векторов символов. Чтобы указать, что никакие методы не помечены, используйте пустое значение, заданное как string.empty
, или {}
. По умолчанию все методы издеваются.
MockedMethods
может включать любой подмножество добавленных методов, абстрактных методов суперкласса и конкретных методов суперкласса, которые могут быть переопределены (Sealed
значение атрибута false
). В целом вы включаете только те методы, которые хотите заглушить или подсмотреть.
Определение MockedMethods
позволяет тестам имитировать только те методы, которые важны для тестового примера. Ограничение методов, которые издеваются, может улучшить эффективность теста, когда суперклассы определяют много методов.
Пример: [«foo», «bar»]
Типы данных: char
| string
| cell
'Strict'
- Индикатор, если макет является строгимfalse
(по умолчанию) | true
Индикатор, если макет является строгим, задается как false
или true
. По умолчанию метод mock возвращает пустой массив, если поведение не определено. Если вы задаете Strict
на true
среда создает отказ утверждения для неопределенного поведения для
Все abstract
методы и свойства заданного интерфейса.
Методы, добавленные к макету с AddedMethods
аргумент.
Свойства, добавленные к макету с AddedProperties
аргумент.
Типы данных: logical
'ConstructorInputs'
- Входы для перехода к superclass
конструкторВходы для перехода к superclass
конструктор, заданный как массив ячеек значений.
Пример: Если вы создаете макет, где вы задаете superclass
чтобы быть ?MException
, 'ConstructorInputs'
можно было бы {'My:ID','My message'}
.
mock
- Реализация абстрактных методов и свойствРеализация абстрактных методов и свойств интерфейса, заданных superclass
вход, возвращается как объект mock. Если макет построен без определения суперкласса, он не имеет явного интерфейса.
Примечание: Вы не можете сохранять и загружать объекты макет.
behavior
- Определение поведения мокаОпределение поведения макета, возвращаемое как объект поведения. Использование behavior
для определения действий mock и проверки взаимодействий.
Примечание. Вы не можете сохранять и загружать объекты поведения.
Создайте тест для интерактивных проверок.
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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.