Pregunta

Tengo un componente que, en la creación, envía dos eventos para rellenar los campos de datos. Los eventos deben permanecer separados porque están acostumbrados a otra parte para acciones distintas.

Quiero escribir una prueba FlexUnit asíncrona para confirmar que estos eventos se envían ambos. El problema es que los dos son variantes de un mismo hecho.

Aquí está el código:

Componente:

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

Test (por lo que yo tengo):

[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 cosa es que esto sólo pruebas de que el primer evento Obtener datos se envía, y lo peor, depende de la orden de envío de eventos. ¿Cómo puedo probar que estos dos eventos son finalmente enviados por este método, independientemente de su orden?

¿Fue útil?

Solución

Salida Secuencias: http://docs.flexunit.org/index .php? title = secuencias # Sequences_from_Fluint

Se podría añadir un SequenceWaiter para el primer evento y comprobar el segundo evento con el AssertHandler final.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top