Класс: 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