레이블이 Test인 게시물을 표시합니다. 모든 게시물 표시
레이블이 Test인 게시물을 표시합니다. 모든 게시물 표시

2010년 1월 19일 화요일

FlexUnit 4 UI 테스트 방법

[Before(async, ui)]
public function setUp():void
{
 myView = new MyView();
 Async.proceedOnEvent(this, myView, FlexEvent.CREATION_COMPLETE);
 UIImpersonator.addChild(myView);
}
 
[After(async, ui)]
public function tearDown():void
{
 UIImpersonator.removeChild(myView);
 myView = null;
}

 

 

 

1. 위의 코드처럼 setUp과, tearDown을 구성한다.

2. UIImpersonator에 테스트 하려는 컴포넌트를 테스트 메소드 실행 전에 붙였다가 끝나고 지우는 구조.

 

 

 

[Test(async, ui, order=1)]
public function testDoWork():void
{
 Async.handleEvent(this,
  myView,
  MyView.WORK,
  onWorked,
  LONG_TIME);

 myView.doWork();
}

private function onWorked(event:Event, passThroughData:Object):void
{
 Assert.assertTrue(myView.isEverythingOkay());
}

 

 

 

3. 이벤트 등을 받아서 Assert 사용.

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를 사용하여 테스트를 시작하면 된다.

2009년 11월 2일 월요일

초간단 배포 batch 파일

xcopy "C:\flexprojects\BM\output\*" "C:\APM_Setup\htdocs\bm" /E /Y

 

/E : 비어있는 디렉토리를 포함한 하위 디렉토리를 복사

/Y : 덮어써야 하는 상황에 질문하지 말고 덮어쓰기

 

테스트 할때 사용

2009년 6월 19일 금요일

마지막 시험

11시에 마지막 시험을 본다. 컴퓨터 구조. 시험 끝나면 flash로 커뮤니티 사이트 하나 만들 생각이다.

2009년 6월 6일 토요일

Flexunit UI testing

링크 : http://www.adobe.com/cfusion/communityengine/index.cfm?event=showdetails&productId=2&postId=7222

 

화면 객체를 flexunit으로 테스트 하려다 보니 오류가 났다. 방법을 찾아봤더니 위의 링크가 나왔다. 다 읽지는 않고 소스만 잠시 봤는데 Application.application을 얻는 방법이 나오는 것 같아서 setUp()에서 application에 테스트 하려는 화면 객체를 addChild하고 tearDown()에서 화면 객체를 removeChild 했더니 잘 된다.