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