matlab.mock.constraints. Класс WasAccessed

Пакет: 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

Была ли эта тема полезной?