UI 컨트롤에 등록된 이벤트 핸들러가 정상적으로 호출되는지 테스트를 하거나,
그와 동일한 효과를 로직에서 처리해야할 경우 수동으로 컨트롤에 이벤트를 발생시킬 수 있다.
sendActionsForControlEvents: 메시지를 사용하여, 대상이 되는 컨트롤의 인스턴스에 이벤트 종류를 지정하여 전달한다 .
Control 에 전달할 수 있는 이벤트 종류는 다음과 같다.
위 메시지를 잘 사용하면, UI 테스팅을 자동화하는 프레임워크를 만들 수 있지 않을까?
그와 동일한 효과를 로직에서 처리해야할 경우 수동으로 컨트롤에 이벤트를 발생시킬 수 있다.
sendActionsForControlEvents: 메시지를 사용하여, 대상이 되는 컨트롤의 인스턴스에 이벤트 종류를 지정하여 전달한다 .
UIButton *btn = (UIButton*)[self.view viewWithTag:1001]; [btn sendActionsForControlEvents:UIControlEventTouchUpInside];
Control 에 전달할 수 있는 이벤트 종류는 다음과 같다.
enum { UIControlEventTouchDown = 1 << 0, UIControlEventTouchDownRepeat = 1 << 1, UIControlEventTouchDragInside = 1 << 2, UIControlEventTouchDragOutside = 1 << 3, UIControlEventTouchDragEnter = 1 << 4, UIControlEventTouchDragExit = 1 << 5, UIControlEventTouchUpInside = 1 << 6, UIControlEventTouchUpOutside = 1 << 7, UIControlEventTouchCancel = 1 << 8, UIControlEventValueChanged = 1 << 12, UIControlEventEditingDidBegin = 1 << 16, UIControlEventEditingChanged = 1 << 17, UIControlEventEditingDidEnd = 1 << 18, UIControlEventEditingDidEndOnExit = 1 << 19, UIControlEventAllTouchEvents = 0x00000FFF, UIControlEventAllEditingEvents = 0x000F0000, UIControlEventApplicationReserved = 0x0F000000, UIControlEventSystemReserved = 0xF0000000, UIControlEventAllEvents = 0xFFFFFFFF }
위 메시지를 잘 사용하면, UI 테스팅을 자동화하는 프레임워크를 만들 수 있지 않을까?
'프로그래밍 > iOS' 카테고리의 다른 글
[Hpple Parser] HTML Parser 1장 - Hpple 추가하기 (0) | 2012.02.09 |
---|---|
UIPickerView 여러 열 사용하기 (0) | 2012.02.07 |
[iPhone] 로깅 프레임웍 cocoalumberjack (0) | 2012.02.07 |
애플리케이션 응답성 향상을 위해 동시성 사용하기 (0) | 2012.02.07 |
애플 푸시 서비스 (0) | 2012.02.07 |