Question

J'ai un composant qui, sur la création, envoie deux événements pour remplir les champs de données. Les événements doivent rester séparés parce qu'ils sont utilisés ailleurs pour des actions distinctes.

Je veux écrire un test FlexUnit asynchrone pour confirmer que ces événements sont tous deux envoyés. Le problème est, ils sont tous les deux variantes du même événement.

Voici le code:

Composant:

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

Test (pour autant que je l'ai):

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

La chose est, ce que les tests que le premier événement de données get est envoyé, et pire encore, dépend de l'ordre d'envoi des événements. Comment puis-je vérifier que ces deux événements sont finalement envoyés par cette méthode, quelle que soit leur ordre?

Était-ce utile?

La solution

Vérifiez Sequences: http://docs.flexunit.org/index .php? title = # Sequences Sequences_from_Fluint

Vous pouvez ajouter un SequenceWaiter pour le premier événement et vérifier le deuxième événement avec le AssertHandler final.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top