matlab.mock.constraints.WasCalled class

Пакет: matlab.mock.constraints

Ограничение, определяющее вызов метода

Описание

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

Конструкция

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

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

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

Входные параметры

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

Количество вызовов метода в виде целого числа.

Свойства

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

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

Примеры

свернуть все

Создайте макет для класса банковского счета.

testCase = matlab.mock.TestCase.forInteractiveUse;
[fakeAccount,behavior] = testCase.createMock('AddedMethods',"deposit");

Используйте ложную учетную запись.

fakeAccount.deposit(10);
fakeAccount.deposit(20);
fakeAccount.deposit(10);

Создайте передающие случаи.

import matlab.mock.constraints.WasCalled
testCase.verifyThat(behavior.deposit(10),WasCalled)
Interactive verification passed.
testCase.verifyThat(behavior.deposit(10),WasCalled('WithCount',2))
Interactive verification passed.
import matlab.unittest.constraints.IsGreaterThan
testCase.verifyThat(behavior.deposit(IsGreaterThan(100)),~WasCalled)
Interactive verification passed.

Создайте провальные случаи.

testCase.verifyThat(behavior.deposit(100),WasCalled);
Interactive verification failed.

---------------------
Framework Diagnostic:
---------------------
WasCalled failed.
--> Method 'deposit' was not called with the specified signature.
--> Observed method call(s) with any signature:
        deposit([1×1 matlab.mock.classes.Mock], 10)
        deposit([1×1 matlab.mock.classes.Mock], 20)
        deposit([1×1 matlab.mock.classes.Mock], 10)

Specified method call:
    MethodCallBehavior
        [...] = deposit(<Mock>, 100)
testCase.verifyThat(behavior.deposit(20),WasCalled('WithCount',2))
Interactive verification failed.

---------------------
Framework Diagnostic:
---------------------
WasCalled failed.
--> Method 'deposit' was not called the expected number of times with the specified signature.
    
    Actual method call count:
             1
    Expected method call count:
             2
--> Observed method call(s) with any signature:
        deposit([1×1 matlab.mock.classes.Mock], 10)
        deposit([1×1 matlab.mock.classes.Mock], 20)
        deposit([1×1 matlab.mock.classes.Mock], 10)

Specified method call:
    MethodCallBehavior
        [...] = deposit(<Mock, 20)
testCase.verifyThat(behavior.deposit(IsGreaterThan(50)),WasCalled)
Interactive verification failed.

---------------------
Framework Diagnostic:
---------------------
WasCalled failed.
--> Method 'deposit' was not called with the specified signature.
--> Observed method call(s) with any signature:
        deposit([1×1 matlab.mock.classes.Mock], 10)
        deposit([1×1 matlab.mock.classes.Mock], 20)
        deposit([1×1 matlab.mock.classes.Mock], 10)

Specified method call:
    MethodCallBehavior
        [...] = deposit(<Mock>, <IsGreaterThan constraint>)
Введенный в R2017a