matlab.mock.constraints.WasAccessed class

Пакет: matlab.mock.constraints

Ограничительное свойство определения получает доступ

Описание

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

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

Конструкция

constraint = WasAccessed обеспечивает ограничение, которое решает, что свойство получает доступ. Если к свойству получили доступ, по крайней мере, однажды, ограничению удовлетворяют. Чтобы квалифицировать это, к свойству не получили доступ, инвертируйте WasAccessed ограничение с тильдой (~оператор.

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

Если вы инвертируете 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