exponenta event banner

matlab.mock.constraints.WasAccess класс

Пакет: matlab.mock.constraints

Ограничение, определяющее доступ к свойству

Описание

WasAccessed ограничение создает сбой квалификации, если фактическое значение не является PropertyBehavior экземпляр, или если свойство, которое соответствует PropertyBehavior не был доступен указанное количество раз.

Число обращений к свойству включает в себя количество неявных обращений к свойству со стороны MATLAB ®. Например, при отображении имитационного объекта MATLAB обращается к свойствам объекта для отображения их значений.

Строительство

constraint = WasAccessed предоставляет ограничение, определяющее доступ к свойству. Если доступ к свойству был получен хотя бы один раз, ограничение выполняется. Чтобы определить, что свойство не было доступно, отмените WasAccessed зависимость с тильдой (~) оператор.

constraint = WasAccessed('WithCount',n) предоставляет ограничение, удовлетворяющее при точном доступе к свойству n времена.

Если вы отрицаете WasAccessed с таким синтаксисом, если к свойству не был получен точный доступ n раз, ограничение проходит. Например, если к свойству обращались 4 раза, ~WasAccessed('WithCount',3) пропуска и ~WasAccessed('WithCount',4) не удается.

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

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

Число раз, когда свойство получает доступ, указанное как целое число.

Свойства

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

Счетчик доступа к свойству, возвращаемый как целое число. Это свойство доступно только для чтения после создания ограничения. Его можно указать во время построения зависимости.

Копирование семантики

Значение. Сведения о том, как классы значений влияют на операции копирования, см. в разделе Копирование объектов.

Примеры

свернуть все

Создайте макет для класса персон.

testCase = matlab.mock.TestCase.forInteractiveUse;
[fakePerson,behavior] = testCase.createMock('AddedProperties',["Name" "Age"]);
fakePerson.Name = 'David';
fprintf(1,'The person''s name is %s.\n',fakePerson.Name);
The person's name is David.

Построить проходные кейсы.

import matlab.mock.constraints.WasAccessed
testCase.verifyThat(behavior.Name,WasAccessed)
Interactive verification passed.
testCase.verifyThat(behavior.Age,~WasAccessed)
Interactive verification passed.
testCase.verifyThat(behavior.Name,WasAccessed('WithCount',1))
Interactive verification passed.

Создание неудачных случаев.

testCase.verifyThat(behavior.Name,~WasAccessed)
Interactive verification failed.

---------------------
Framework Diagnostic:
---------------------
Negated WasAccessed failed.
--> Property 'Name' was unexpectedly accessed 1 time(s).

Specified property access:
    PropertyGetBehavior
        <Mock>.Name
testCase.verifyThat(behavior.Age,WasAccessed)
Interactive verification failed.

---------------------
Framework Diagnostic:
---------------------
WasAccessed failed.
--> Property 'Age' was never accessed.

Specified property access:
    PropertyGetBehavior
        <Mock>.Age
testCase.verifyThat(behavior.Name,WasAccessed('WithCount',5))
Interactive verification failed.

---------------------
Framework Diagnostic:
---------------------
WasAccessed failed.
--> Property 'Name' was not accessed the expected number of times.
    
    Actual property access count:
             1
    Expected property access count:
             5

Specified property access:
    PropertyGetBehavior
        <Mock>.Name
Представлен в R2017a