matlab.mock.constraints.WasAccessed class

Пакет: matlab.mock.constraints

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

Описание

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

Количество обращений к свойству включает количество обращений к MATLAB® неявный доступ к свойству. Например, если вы отображаете объект mock, 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