2009년 6월 9일 화요일

PureMVC의 proxy를 flexunit으로 테스트 하기

죽음의 테스트를 완벽하게 통과한 튼튼한 모델이라 할지라도 PureMVC 상에서 메세지를 잃게되면 프로그램은 먹통으로 보이게 된다. 맘편하게 Notification처리 구조를 바꾸고 싶다면 어떻게 해야 할까? Notification에 대한 테스트를 만들어야 한다. flexunit은 순수한 ActionScript3 이벤트는 테스트 할 수 있어도 PureMVC의 Notification을 이해하지 못한다. 해서 나온 것이 이것이다. http://code.google.com/p/puremvc-flexunit-testing/

 

사용법

1. 라이브러리를 추가하고 PureMVCTestCase를 상속받는 TestCase를 만든다.

2. TestCase 내부에 테스트를 하고자 하는 proxy와 view를 얻는 getter를 만든다.

 

  public function get proxy():MyProxy
  {
   return ApplicationFacade.getInstance(ApplicationFacade.NAME).

      retrieveProxy(MyProxy.NAME) as MyProxy;
  }
 
  public function get view():IView
  {
   return View.getInstance(MyMediator.NAME);
  }

3. registerObserver(view, proxy, MyProxy.INIT, OnInit, 1000); 이런 식으로 테스트 안에서 실행 시킨다.

4. public function OnInit(event:PureMVCNotificationEvent):void 이렇게 받는다.

 

컴파일 된 라이브러리를 받아다가 프로젝트에 적용하니 multicore쪽 패키지를 찾으려고 했다. 코드 볼 시간이 없어서 그냥 PureMVC를 Standard에서 Multicore로 바꾸고 프로젝트 구조를 example 따라서 바꿨더니 쉽게 됐다.

 

참고 : http://marburger.cc/posts/flexunit-testing-puremvc-code

댓글 없음:

댓글 쓰기