0

PureMVC プロジェクト用に次のテストを作成しました

[Test]
public function facadeCanRegisterMediator():void {

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

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

ただし、常に失敗しています。ファサードにメディエーターがあることを確認する前に、どのイベントをリッスンする必要がありますか? それとも、それが失敗している他の理由がありますか?

「本当だと思っていましたが、間違っていました」というメッセージが表示されます。

4

2 に答える 2

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));
}

もちろん...合格。イベントはそれとは何の関係もありません。メディエータの登録時に発生するイベントはありません。

于 2013-01-07T16:41:03.967 に答える
0

回答はEvent.ADDED_TO_STAGE、メディエーターが登録される前に発生します。

ステージに追加されたときはいつでも、メディエーター クラスのみが登録されています。

view.addEventListener( Event.ADDED_TO_STAGE , addedToStageHandler );
于 2013-01-03T15:58:48.347 に答える