2010년 1월 15일 금요일

FlexUnit 4 비동기 테스트 방법

FlexUnit 4에서 비동기 테스트 방법

 

[Test(async, description="Async Example")]
public function testTimerLongWay():void
{
 var asyncHandler:Function = Async.asyncHandler(this, handleTimerComplete, 500, null, handleTimeout);
 timer.addEventListener(TimerEvent.TIMER_COMPLETE, asyncHandler, false, 0, true);
 timer.start();  
}

 

protected function handleTimerComplete(event:TimerEvent, passThroughData:Object):void
{

}

 

protected function handleTimeout(passThroughData:Object):void
{

}

 

1. Tag에 async를 준다.
2. Async.asyncHandler를 통해 비동기 핸들러를 만든다.
2.1. this - listener 클래스를 지정한다.
2.2. handleTimerComplete - timer에서 TIMER_COMPLETE 이벤트가 발생했을 때 처리 될 이벤트 핸들러.
2.3. 500 - 대기시간을 넣는다. 이 시간이 초과하면 handleTimerout 이벤트 핸들러가 실행, 테스트는 실패.
2.4. null -  대신 어떤 값을 넣으면 handlerTimerComplete의 두 번째 인자로 넘어온다.
2.5. handleTimeout - 앞서 설명한 것처럼 테스트 타임아웃 시에 호출되는 펑션.
3. timer.addEventListener에서 Async.asyncHandler를 통해 생성한 핸들러를 넣는다.

 

위처럼 하면 된다.

 

위의 예에서 이벤트가 발생하면 handleTimerComplete가 호출되고

 

Assert를 사용하여 테스트를 시작하면 된다.

댓글 없음:

댓글 쓰기