Класс: matlab.mock.actions.ThrowException
Пакет: matlab.mock.actions
Повторить исключение метания
repeat(action,n)
repeat( повторяет одно и то же действие action,n)n времена. Входные аргументы можно указывать в любом порядке. То есть repeat(action,n) и repeat(n,action) оба повторяют действие n времена.
Если вы повторяете действие и не следуете за ним с вызовом then в способе макет продолжает возвращать повторяющееся значение. Например, рассмотрим следующий макет класса банковских счетов.
import matlab.mock.actions.ThrowException testCase = matlab.mock.TestCase.forInteractiveUse; [mock, behavior] = testCase.createMock('AddedProperties',"IsJointAccount");
При повторении действия для создания исключения дважды фреймворк продолжает создавать исключение в следующем коде, что приводит к получению значения свойства в третий раз.
when(get(behavior.IsJointAccount),ThrowException().repeat(2)) tf = mock.IsJointAccount tf = mock.IsJointAccount tf = mock.IsJointAccount
Но следующий код дважды создает исключение и возвращает false.
import matlab.mock.actions.AssignOutputs when(get(behavior.IsJointAccount), ... ThrowException().repeat(2).then(AssignOutputs(false))) tf = mock.IsJointAccount tf = mock.IsJointAccount tf = mock.IsJointAccount