2013-01-03 61 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)); 
} 

但是它總是失敗。在檢查門面是否有調解器之前,我需要聽什麼事件?還是有其他原因失敗?

我收到消息「預計真實但是錯誤」。

回答

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