どのように私はFlexUnitの4のイベントシーケンスをテストすることができますか?

StackOverflow https://stackoverflow.com/questions/2238773

質問

私は、作成時に、データフィールドを移入するために2つのイベントを送出し、コンポーネントを持っています。彼らは明確なアクションのために他の場所で使用しているので、イベントは別々のままにする必要があります。

私は、これらのイベントが両方送信されていることを確認するために、非同期FlexUnitテストを書きたいです。問題は、彼らが同じイベントの両方のバリアントだ、である。

ここでは、コードです。

コンポーネント:

internal function creationComplete(): void {
    new GetDataEvent(GetDataEvent.GET_DATA, "aField").dispatch();
    new GetDataEvent(GetDataEvent.GET_DATA, "anotherField").dispatch();
}

テスト(限り私はそれを持っているように):

[Test(async)]
public function creationCompleteShouldLoadRequiredData(): void {
    Async.handleEvent(this, new CairngormEventDispatcherAdapter(), GetDataEvent.GET_DATA,
            function(event: Event, ...rest): void {
                assertThat(event, hasProperty("data", hasProperty("field", "aField")));
            });
    fixture.creationComplete();
}

事は、この最初のgetデータイベントが送出されていることをテストし、悪化し、イベントディスパッチの順序に依存しています。どのように私はこれらのイベントの両方が、最終的には自分の順番に関係なく、この方法によって送り出されていることをテストすることができますか?

役に立ちましたか?

解決

http://docs.flexunit.org/index:

シーケンスをチェック.PHP?タイトル=シーケンス#Sequences_from_Fluintする

あなたが最初のイベントのためにSequenceWaiterを追加し、最終的AssertHandlerと2番目のイベントをチェックすることができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top