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