Class: matlab.mock.actions.ThrowException
Package: matlab.mock.actions
Repeat throwing exception
repeat(action,n)
repeat(
repeats the same action action,n)n times. You can specify the input arguments
in any order. That is, repeat(action,n) and
repeat(n,action) both repeat the action n
times.
If you repeat an action, and do not follow it with
a call to the then method, the mock continues to
return the repeated value. For example, consider the following mock
of a bank account class.
import matlab.mock.actions.ThrowException testCase = matlab.mock.TestCase.forInteractiveUse; [mock, behavior] = testCase.createMock('AddedProperties',"IsJointAccount");
If you repeat an action to throw an exception twice, the framework continues to throw an exception in the following code, which goes on to get the property value a third time.
when(get(behavior.IsJointAccount),ThrowException().repeat(2)) tf = mock.IsJointAccount tf = mock.IsJointAccount tf = mock.IsJointAccount
But the following code throws an exception twice and the returns 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