Класс: matlab.mock.actions.ThrowException
Пакет: matlab.mock.actions
Повторите исключение выдачи
repeat(action,n)
repeat(
повторяет то же действие action
,n
)n
\times. Можно задать входные параметры в любом порядке. Таким образом, repeat(action,n)
и repeat(n,action)
оба повторяют действие n
\times.
Если вы повторяете действие и не следуете за ним с вызовом 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