Frage

Ich habe eine Komponente, dass bei der Erstellung, zwei Ereignisse zu bevölDatenFelder entsendet. Die Ereignisse sollten getrennt bleiben, weil sie an anderer Stelle für verschiedene Aktionen gewohnt sind.

Ich möchte einen asynchronen Flexunit-Tests zur Bestätigung schreiben, dass diese Ereignisse beide gesendet werden. Das Problem ist, sie sind beide Varianten des gleichen Ereignisses.

Hier ist der Code:

Komponente:

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

Test (soweit ich es haben):

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

Die Sache ist, diese Tests nur, dass das erste get Daten-Ereignis ausgelöst wird, und schlimmer noch, hängt von der Reihenfolge des Veranstaltungs Versands. Wie kann ich diese beiden Ereignisse testen, die schließlich durch dieses Verfahren ausgesendet, unabhängig von ihrer Ordnung?

War es hilfreich?

Lösung

Überprüfen Sie heraus Sequenzen: http://docs.flexunit.org/index .php? title = Sequenzen # Sequences_from_Fluint

Sie könnten eine SequenceWaiter für das erste Ereignis hinzufügen und überprüfen Sie die zweite Veranstaltung mit dem endgültigen AssertHandler.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top