2013-01-03 9 views
0

나는 나의 PureMVC 프로젝트중재자가 등록되면 어떤 이벤트가 시작됩니까? 항상 실패하지만

[Test] 
public function facadeCanRegisterMediator():void { 

    if(!Facade.getInstance().hasMediator(NewReelMediator.NAME)) { 

     Facade.getInstance().registerMediator(new NewReelMediator()); 
    } 
    assertTrue(Facade.getInstance().hasMediator(NewReelMediator.NAME)); 
} 

에 대해 다음 테스트를 썼다. 외관에 중재자가 있는지 확인하기 전에 어떤 이벤트를 듣고 싶습니까? 아니면 실패하는 다른 이유가 있습니까?

메시지가 "expected true but false"입니다.

답변

0

글쎄, 나는 어리 석다.

내 질문에 대한 대답은 중재자를 등록 할 때 중재자의 이름을 생략했기 때문입니다!

적절한 코드 같아야

[Test] 
public function facadeCanRegisterMediator():void { 

    if(!Facade.getInstance().hasMediator(NewReelMediator.NAME)) { 

     Facade.getInstance().registerMediator(new NewReelMediator(NewReelMediator.NAME)); 
    } 
    assertTrue(Facade.getInstance().hasMediator(NewReelMediator.NAME)); 
} 

물론 ... 통과한다. 이벤트는 그 이벤트와 아무 관련이 없습니다. 중재자가 등록 될 때 해고되는 사건은 없습니다.

0

답변은 Event.ADDED_TO_STAGE입니다. 중재자가 등록되기 전에 해고됩니다.

언젠가 무대에 추가 된 것을 보았을 때 중재자 클래스 만 등록되었습니다.

view.addEventListener(Event.ADDED_TO_STAGE , addedToStageHandler); 
+0

감사하지만 등록과 "hasMediator"속성 사이의 지연을 유발하는 원인을 알아야합니다. – Avik