Main Content

repeat

클래스: matlab.mock.actions.AssignOutputs
네임스페이스: matlab.mock.actions

반환 값 정의 반복

구문

repeat(action,n)

설명

repeat(action,n)은 동일한 동작을 n번 반복합니다. 입력 인수를 임의의 순서로 지정할 수 있습니다. 즉, repeat(action,n)repeat(n,action)은 둘 다 동작을 n번 반복합니다.

입력 인수

모두 확장

정의된 동작으로, matlab.mock.actions.AssignOutputs의 인스턴스로 지정됩니다.

예: action = AssignOutputs(true)

예: action = AssignOutputs(7,13,42)

동작 반복 횟수로, 정수로 지정됩니다.

예: 5

예제

모두 확장

은행 계좌 클래스에 대한 모의 객체를 만듭니다.

testCase = matlab.mock.TestCase.forInteractiveUse;
[mock,behavior] = testCase.createMock('AddedMethods',"isOpen");

동작을 지정합니다.

import matlab.mock.actions.AssignOutputs
when(withExactInputs(behavior.isOpen), ...
    AssignOutputs(true).repeat(2).then(AssignOutputs(false)))

모의 객체를 사용합니다.

for i = 1:3
    isAccountOpen = mock.isOpen
end
isAccountOpen = logical
   1

isAccountOpen = logical
   1

isAccountOpen = logical
   0

  • 한 동작을 반복하고 뒤에 then 메서드를 호출하지 않으면 모의 객체는 반복된 값을 계속 반환합니다. 예를 들어, 은행 계좌 클래스의 다음 모의 객체를 고려합니다.

    import matlab.mock.actions.AssignOutputs
    testCase = matlab.mock.TestCase.forInteractiveUse;
    [mock,behavior] = testCase.createMock('AddedProperties',"IsJointAccount");

    속성값 true를 2번 반환하도록 동작을 반복하는 경우 세 번째와 네 번째 속성값을 가져오기 위해 계속 진행하는 다음 코드는 4번 모두 true를 반환합니다.

    when(get(behavior.IsJointAccount),AssignOutputs(true).repeat(2))
    for i = 1:4
        tf = mock.IsJointAccount
    end
    

    그러나 다음 코드는 true를 2번 반환하고, false를 2번 반환합니다.

    when(get(behavior.IsJointAccount), ...
        AssignOutputs(true).repeat(2).then(AssignOutputs(false)))
    for i = 1:4
        tf = mock.IsJointAccount
    end

버전 내역

R2017a에 개발됨